C mysql編譯鏈結問題

2021-08-27 02:28:44 字數 723 閱讀 1325

首先在源**裡面包含標頭檔案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.連環報錯,...