QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1499|回复: 2

问一个编程时遇到的问题

[复制链接]
发表于 2006-11-8 09:39:25 | 显示全部楼层 |阅读模式
可能对于用熟了的大侠来说只是很简单的问题。
我在网上摘的一段程序,关于mysql的,在编译时出现这些:

testmysql.o: In function `main':
/home/chenjie/testmysql/src/testmysql.c:31: undefined reference to `mysql_init'
/home/chenjie/testmysql/src/testmysql.c:38: undefined reference to `mysql_real_connect'
/home/chenjie/testmysql/src/testmysql.c:41: undefined reference to `mysql_error'
testmysql.o: In function `mysql_exit':
/home/chenjie/testmysql/src/testmysql.c:59: undefined reference to `mysql_close'
testmysql.o: In function `mysql_handle':
/home/chenjie/testmysql/src/testmysql.c:80: undefined reference to `mysql_real_query'
/home/chenjie/testmysql/src/testmysql.c:83: undefined reference to `mysql_error'
/home/chenjie/testmysql/src/testmysql.c:88: undefined reference to `mysql_store_result'
/home/chenjie/testmysql/src/testmysql.c:90: undefined reference to `mysql_error'
/home/chenjie/testmysql/src/testmysql.c:95: undefined reference to `mysql_num_rows'
/home/chenjie/testmysql/src/testmysql.c:98: undefined reference to `mysql_fetch_field'
/home/chenjie/testmysql/src/testmysql.c:105: undefined reference to `mysql_fetch_row'
/home/chenjie/testmysql/src/testmysql.c:117: undefined reference to `mysql_errno'
/home/chenjie/testmysql/src/testmysql.c:119: undefined reference to `mysql_error'
/home/chenjie/testmysql/src/testmysql.c:124: undefined reference to `mysql_free_result'
collect2: ld returned 1 exit status
gmake[2]: *** [testmysql] 错误 1
gmake[2]: 由于错误目标“all”并未重新创建。
gmake[2]: Nothing to be done for `all-am'.
gmake[1]: *** [all-recursive] 错误 1
gmake: *** [all] 错误 2

在程序中,我用了“#include<mysql/mysql.h>”,后来又改成“#include "/usr/include/mysql/mysql.h"”,还是出现这个错误。
就在我绝望的时候,我在命令行中敲入:
“gcc -ggdb3 -I/usr/include/mysql  -L/usr/lib/mysql -lmysqlclient -o testmysql testmysql.c"
居然又一个问题都没有了。
我知道 -I -L好像是指明所用的库的路径之类的,不过不太清楚具体含义,这句话是照着书上敲进来的。
在这里我想问一下,这个-I、-L和后面的-lmysqlclient分别表示什么意思啊?还有,如果用kdevlop编译的话,这些东西在什么地方加进去?
谢谢
发表于 2006-11-8 10:35:21 | 显示全部楼层
-I后面表示include查找头文件的路径,-L后面表示查找库文件的路径(库的意思我想你懂)。-l表示所用的库,因为你编译mysql程序需要用到mysql的库,不然链接的时候找不到头文件里函数的对应实现。kdevelop的话,好像在菜单里有吧CFLAGS/CPPFLAGS/LDFLAGS
回复

使用道具 举报

 楼主| 发表于 2006-11-8 14:49:49 | 显示全部楼层
CFLAGS/CPPFLAGS/LDFLAGS
能翻译成中文吗?用到是ml自带的kdevlop,全中文界面,英语又没学好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-24 10:50 , Processed in 0.066898 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表