能否把一些静态库文件(.a)和.o文件一起打包成一个静态库文件?
各位高手,想请教各位一个问题:
我现在手头上有两个 libs1.a,libk1.a 这两个静态库文件,
然后我再写了一个 hh.cpp文件调用了这两个静态库的一些函数,
最后用
ar cr my.a libs1.a libk1.a hh.o 这个语句生成了my.a文件,
同时也用
g++ -fPic -shared -o my.so hh.o libs1.a libk1.a -pthread 生成了my.so文件.
可惜的是当我使用这个my.a 跟一个测试cpp连接时,编译时发现会出现以下的错误:
my.a: undefined reference to "Func1(int i)" 这样的错误,其中 Func1是libs1.a
所提供的函数.
但是我使用my.so跟测试cpp去进行编译,就没有报任何错误的.
想请教各位,怎么去用一些.a文件和.o文件去生成一个.a文件?怎么避免我所遇到的这个问题?