gcc -c test.c -i /usr/local/mysql/include
gcc test.o -o test -l /usr/local/mysql/lib -lmysqlclient
./test
#include
#include
void main(int argc,char *argv)
else
mysql_options(m_mysql, mysql_set_charset_name, "utf8mb4");
if (!mysql_real_connect(m_mysql, "localhost", "root", "123456",
"dbname", 3306, null, 0)) else}
今天編譯了乙個c連線mysql資料庫的程式,出錯是找不到mysql.h標頭檔案,現在把它出錯解決辦法記錄下來。
安裝libmysqlclient-dev,執行sudo apt-get install libmysqlclient-dev命令;
命令執行完後頭檔案在/usr/include/mysql目錄下,庫檔案在/usr/lib/mysql和/usr/lib目錄下;
假設我們有乙個mysql.c原始檔:
[cpp]view plain
copy
print?
#include
#include
#include
#include
int main()
if (mysql_query(conn, "show tables"))
res = mysql_use_result(conn);
while ((row = mysql_fetch_row(res)) != null)
printf("%s\n", row[0]);
mysql_free_result(res);
mysql_close(conn);
}
執行程式過程如下:
編譯 :gcc -c mysql.c -i /usr/include/mysql/ 這裡的-i 是指定頭檔案目錄 -c 是編譯成目標**
連線 :gcc mysql.o -o mysql -l /usr/lib/ -lmysqlclient 這裡的-l是指定庫檔案路徑
標頭檔案預設的搜尋路徑包括/usr/include和/usr/local/include;
庫檔案預設搜尋路徑包括/lib,/usr/lib,/usr/local/lib;
執行命令預設搜尋路徑包括/bin,/usr/bin,/usr/local/bin;
Linux 編譯找不到標頭檔案
linux下使用gcc編譯找不到標頭檔案,但是檢視 系統標頭檔案件存放目錄 usr local include 發現標頭檔案確實存在,這是為什麼呢?這是因為linux下的預設標頭檔案路徑 不包含 usr local include,預設包含的是 usr include usr local 是用來存放...
編譯出錯 找不到標頭檔案
在kei mdk環境下開發嵌入式軟體時,有時候會遇到類似下面的錯誤 user stm32f10x it.c 22 error 5 cannot open source input file usb int.h no such file or directory 這主要是標頭檔案管理目錄混亂造成的,通...
CLion找不到標頭檔案解決方案
這兩天我的air換了硬碟,使用時間機器恢復,出現五國問題,被迫重灌系統,結果發現clion找不到標頭檔案了,所有的標頭檔案下面都有紅色波浪形標錯,找了兩種方法,我在下面列一下 終端加入這一行 安裝命令列編譯器 xcode select install這個方法應該是適用於mac系統公升級後出現的問題,...