• 6803阅读
  • 2回复

ar 生成静态库的问题 [复制链接]

上一主题 下一主题
离线madeguang
 

只看楼主 倒序阅读 楼主  发表于: 2006-04-27
请个位高手帮忙解释一下. 我用gcc编译了几个.o文件, 然后用ar 生成静态库,
然后在写个main.c 函数调用静态库中的函数, 却在连接时有错误, 类似这样:
undefined reference to '函数名'

函数名 是我编译在库中的函数. 库中确实有这个函数
[ 此贴被XChinux在2006-05-08 00:32重新编辑 ]
离线m2213231
只看该作者 1楼 发表于: 2006-05-12
先用nm看看你那个库里面是不是真的有你写的那些函数
另外再看看是不是编译的命令写错了
在链接的时候可以直接把库的名字接在编译命令的后面
大体是这样的
gcc -o v.exe v.c liba.a 或
gcc -o v.exe v.c -L库所在的目录 -la
离线lsosa

只看该作者 2楼 发表于: 2006-12-14
步骤就按楼上说的即可,只是要注意在连接时,要把库文件放在所有.o文件的后面,且系统链接库放在最后面;这是一个链接顺序问题,因为gcc在调用ld进行连接时有这个顺序的问题。
快速回复
限100 字节
 
上一个 下一个