我想制作一个静态库,并且能够按照 yolinux 教程 http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html正确制作一个
当我想包含一个静态库来创建一个新的静态库时,就会出现问题。场景是:
gcc -Wall -c cdbSearch.c
ar -cvq cdbSrc.a cdbSearch.o cdb.a
这成功创建了一个名为 cdbSrc.a 的静态库
但是当我尝试将其与我的测试程序链接时
gcc -o cdbtest cdbtest.c cdbSrc.a
cdbSrc.a(cdbSearch.o): In function `cdb_search':
cdbSearch.c:(.text+0xa2): undefined reference to `cdb_seek'
collect2: ld returned 1 exit status
它给了我一个错误,说 cdb_seek 不能被引用,这实际上是 cdb.a 的一部分
如果我用 cdb.a 编译测试程序,它可以正常工作,但它不能达到目的..
gcc -o cdbtest cdbtest.c cdbSrc.a cdb.a
并且二进制文件已成功创建 cdbtest。
这是预期的行为,是的,为什么?如果不是我做错了什么..