我想要一個靜態庫,並能夠做出一個正確遵循的yolinux教程 http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.htmlç靜態庫的Linux
時,我想包括靜態庫,使一個新的靜態庫的問題就出現了。 方案是:
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編譯測試程序,它工作正常,但它沒有t服務的目的..
gcc -o cdbtest cdbtest.c cdbSrc.a cdb.a
和二進制文件已成功創建cdbtest。
這是預期的行爲,是的,爲什麼?如果不是,我做錯了什麼。
的可能重複[集合靜態庫(http://stackoverflow.com/questions/9547061/aggregate-static-libraries) – Mat 2012-08-03 05:08:31