首先在源**裡面包含標頭檔案mysql.h
#include"/usr/include/mysql/mysql.h"這樣可以不用在編譯選項中加-i/usr/include/mysql/
直接#include"mysql.h",然後在編譯選項中加入-i/usr/include/mysql/
編譯選項:
#gcc-i/usr/include/mysql/-l/usr/lib/mysql-lmysqlclienttest_mysql.c-otest_mysql
以上編譯選項是因為mysql預設安裝的,如果是mysql安裝到/usr/local/mysql的,則按照以下命令
#gcc-i/usr/local/mysql/include/mysql-l/usr/local/mysql/lib/mysql-lmysqlclienttest_mysql.c-otest_mysql
結果報錯
/tmp/ccgi5hdj.o:infunction`main':
test_mysql.c:(.text+0x7c):undefinedreferenceto`mysql_read_connect'
collect2:ldreturned1exitstatus
網上這個問題的解決辦法大部分都試過,還是不行,我這也包含了路徑。
最後才發現原來是mysql_
read_connect寫錯了,應該是mysql_
real_connect。太粗心了!!
編譯鏈結問題
編譯 1 檢查標頭檔案有相應的函式和變數宣告 2 原始檔語法問題。只與目標檔案相關,即 o window下目標檔案可打包為lib,而linux下是打包為靜態庫 a 或者動態庫 so vs工程下,如果某些 cpp需要編譯成 obj,則必須在介面上新增到工程中的源資料夾中,這樣才能生成目標檔案.obj,...
編譯鏈結的問題
在用gcc編譯鏈結的時候,經常出現找不到庫或者標頭檔案的問題可以用 i 指定標頭檔案的路徑,用 l指定庫的路徑,用 l指定具體的庫檔案 例如 cc arm linux 在鏈結的時候指定庫檔案和路徑 test test.o cc gcc test.o o test l usr local jpeg l...
C mysql資料庫鏈結異常
調整mysql鏈結遭遇 system.typeinitializationexception the type initializer for mysql.data.mysqlclient.replication.replicationmanager threw an exception.連環報錯,...