linux 链接静态库
我的程序要链接一些静态库,这些静态库也是我自己写的。
g++ -o program a.o b.o -L../lib -lutil -lfoo
其中libfoo.a里一些函数在libutil.a中。
然后编译的时候出报在libfoo.a中没有定义***函数。如下
undefined reference to `update::CSegmentReader::getSegmentInfo()'
但是我把libfoo.a和libutil.a用ar -x解压,再用ar cru打成一个包libcore.a
再用g++ -o program a.o b.o -L../lib -lcore就可以了。‘
真是不明白为什么呀!
而且我写了一个非常简单的例子,测试了一下
g++ -o program a.o b.o -L../lib -lutil -lfoo这种写法,应该是没问题的。