返回信息流这是我的毕设项目,其中有一部分使用了nDPI开源项目,并且需要在其中连接MSQL数据库。代码修改中已经添加了头文件 #include<mysql/mysql.h>,但是在编译的时候所有关于数据库的函数都显示"undefined reference to ..."的问题。网上查的解决办法是使用 gcc 的时候添加 "mysql_config --cflags --libs" 或者 "-lmysqlclient",但是这个开源项目已经有自己写好的 makefile 文件,用 gcc 的时候会显示找不到其他的文件。刚刚接触 Linux,被这个问题困扰了四天了,希望大家能提出点解决方法[ema1][ema1]
这是一条镜像帖。来源:北邮人论坛 / cpp / #86741同步于 2015/4/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
在Linux连接MySQL时出现的"undefined reference"问题
age
2015/4/21镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
的确是在 makefile 里面加上链接的库就解决了。我犯了一个错误,原来我修改了 makefile,在里面加上了链接的库,但是因为我不熟悉 makefile,所以被 nDPI 里面作者给的教程误解了:教程说的是修改了文件以后要做三步,1. autoreconf -ivf 2. ./configure 3. make ,当 autoreconf 和 ./configure 后,我修改的 makefile 又被自动生成的 makefile 给覆盖了,导致修改不成功。现在我修改的 makefile 后不自动生成新的 makefile,修改就被保存了,直接 make 就可以起作用了。谢谢了!
【 在 eussac 的大作中提到: 】
: 在makefile里加上要链接的lib不行么?
no。gcc链接时没有库。
【 在 age 的大作中提到: 】
: 填上链接库是加上 #include<mysql/mysql.h> 吗?已经加上了