日期:2014-05-16 浏览次数:20746 次
下面只是为了做个实验,我只调用一个mysql_init()函数, 第一次编译出现下面的错 [root@heiying database]# gcc mysqll.c -o mysql /tmp/ccCwjhW9.o: In function `main': mysqll.c:(.text+0x11): undefined reference to `mysql_init' collect2: ld 返回 1 第二次编译出下面的错 [root@heiying database]# gcc mysqll.c -o mysql -lmysqlclient /usr/bin/ld: cannot find -lmysqlclient collect2: ld 返回 1 [root@heiying database]# (说明:我在linux下是有装mysql-devel的,在目录 /usr/include/mysql/下 mysql.h这个文件确实存在,但在编译时为什么会说 undefined reference to `mysql_init?? 当我把mysql.h拷贝到编译目录下 并修改C程序中的包含文件#include <mysql/mysql.h>为 #include "mysql.h",结果没有提示undefined reference to `mysql_init,但提示没有包含其他文件,我这样做只想说明一下为mysql.h有没有没include进c程序中,从这个实验结果来看好像无法包含mysql.h这个头文件进C程序,我感到很奇怪,请高手指教) #include <mysql/mysql.h> #include <stdio.h> int main() { MYSQL *mysql; MYSQL_RES *rew; MYSQL_ROW row; mysql_init(mysql); return 0; }