当前位置: 技术问答>linux和unix
如何把静态库文件包含到动态库文件中去?
来源: 互联网 发布时间:2016-12-30
本文导语: 本帖最后由 hjk_thinking 于 2011-09-07 14:24:36 编辑 假设我有一个静态库libA.a,然后我要创建一个动态库libB.so(B.cpp) libB.so依赖于libA.a 动态库依赖于此静态库,然后有一个main.exe也依赖于libA.a这个库 main.exe里面调用libB.so 我...
动态库依赖于此静态库,然后有一个main.exe也依赖于libA.a这个库 main.exe里面调用libB.so
我的编译的libB.so是这样的
g++ -shared -fPIC -o libB.so B.cpp -L.-lA -I./Include
编译是编译出来了
但是nm的 时候 libA.a里面的好多函数开头是U
然后编译main.cpp
g++ -o main.exe -L. -lB -A -I./Include main.cpp
提示libB.so中调用了libA.a中的函数找不到
多谢!分不多
|
-A 应该是 -lA
|
文件后缀改成.c然后编译,或者.cpp后缀下,函数声明为:extern "c" 再编译。
|
C++自己使用,也没说跟C有关系,不用 extern "C"哈