首页| 论坛| 消息

标题:ar 生成静态库的问题
作者:madeguang
日期:2006-04-27 13:55
内容:

请个位高手帮忙解释一下.我用gcc编译了几个.o文件, 然后用ar 生成静态库,
然后在写个main.c 函数调用静态库中的函数, 却在连接时有错误, 类似这样:
undefined reference to '函数名'
函数名 是我编译在库中的函数.库中确实有这个函数


#1 [m2213231 05-12 20:37]
先用nm看看你那个库里面是不是真的有你写的那些函数
另外再看看是不是编译的命令写错了
在链接的时候可以直接把库的名字接在编译命令的后面
大体是这样的
gcc -o v.exe v.c liba.a 或
gcc -o v.exe v.c -L库所在的目录 -la
#2 [lsosa 12-14 10:07]
步骤就按楼上说的即可,只是要注意在连接时,要把库文件放在所有.o文件的后面,且系统链接库放在最后面;这是一个链接顺序问题,因为gcc在调用ld进行连接时有这个顺序的问题。

回复 发表
主题 版块