今天用Linux編譯socket的通信程序,出現以下錯誤,折騰了整整一天,重要解決!!!
/tmp/ccebULYF.o: In function `main':
tcp_demo.cpp:(.text+0x494): undefined reference to `mysql_init'
tcp_demo.cpp:(.text+0x4d6): undefined reference to `mysql_real_connect'
tcp_demo.cpp:(.text+0x4fe): undefined reference to `mysql_query'
tcp_demo.cpp:(.text+0x5a0): undefined reference to `mysql_query'
tcp_demo.cpp:(.text+0x5bf): undefined reference to `mysql_store_result'
tcp_demo.cpp:(.text+0x5d5): undefined reference to `mysql_free_result'
tcp_demo.cpp:(.text+0x5e4): undefined reference to `mysql_close'
collect2: error: ld returned 1 exit status
其實答案也是在網上找的:https://ubuntuforums.org/showthread.php?t=1666018
原文看着比較費勁,我也是找了很久的資料,最后總結如下:
只需輸入命名:
gcc -o test tcp_demo.c `mysql_config --cflags --libs`
記得復制該命令,記得復制該命令,記得復制該命令,重要的事情說三遍。
因為`mysql_config --cflags --libs`的` `不是單引號,可能會弄錯。
之后可以把 test 和tcp_demo.c改成自己的文件,然后執行就OK了