首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 下編譯 C 程序連接 MySQL 報錯「找不到 mysql.h」完整解決方案

     編輯:MySQL 綜合教學

Linux 下編譯 C 程序連接 MySQL 報錯「找不到 mysql.h」完整解決方案

問題現場

編寫 C 語言程序 connect1.c 連接 MySQL 數據庫,執行編譯命令:

gcc connect1.c -o connect1.exe -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient

編譯器報錯:找不到 mysql.h

根因分析

系統僅安裝了 MySQL 服務端 (mysql-server) 和客戶端 (mysql-client),缺少開發庫文件 (MySQL database development files),導致頭文件 mysql.h 和鏈接庫缺失。

解決方案

方案一:包管理器一鍵安裝 (推薦)

發行版安裝命令
Debian/Ubuntusudo apt-get install libmysqlclient-dev
CentOS/RHEL 7sudo yum install mysql-devel
CentOS/RHEL 8+ / Fedorasudo dnf install mysql-devel
openSUSEsudo zypper install libmysqlclient-devel

方案二:驗證安裝結果

安裝完成後,確認關鍵文件存在:

# 頭文件
ls /usr/include/mysql/mysql.h

# 庫文件
ls /usr/lib/mysql/libmysqlclient.so*

方案三:重新編譯測試

gcc connect1.c -o connect1.exe -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient
./connect1.exe

參數詳解

  • -I/usr/include/mysql:指定頭文件搜索路徑 (mysql.h 所在目錄)
  • -L/usr/lib/mysql:指定庫文件搜索路徑
  • -lmysqlclient:鏈接 libmysqlclient.so 動態庫

常見坑點提示

  • 64 位系統庫路徑可能為 /usr/lib64/mysql,需按實際情況調整 -L 參數
  • 若使用 MariaDB,開發包名通常為 libmariadb-dev 或 mariadb-devel
  • 交叉編譯環境需確保目標架構的開發包已安裝
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved