mysql linux c找不到標頭檔案解決辦法

2021-07-25 05:22:08 字數 1337 閱讀 7563

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系統公升級後出現的問題,...