大家好!
我在linux上使用gcc创建了一个共享库。该库本身没有代码,但链接到几个也是使用gcc构建的静态库(档案)。我需要通过我的共享库导出静态库的符号。结果是产生的共享库太小,并且它实际上不包含由上面提到的静态库提供的任何符号。我也尝试了导出符号的地图,但这根本没有帮助。你们谁能给出一个解决方案!
提前10倍
发布于 2010-06-08 13:47:32
您需要链接器的--whole-archive选项来拉入所有静态归档:
gcc -shared -o libwhatever.so -Wl,--whole-archive -lstatic -Wl,--no-whole-archive因为--whole-archive是一个链接器选项,所以需要-Wl。
为了做到这一点,libstatic.a中的代码需要被正确编译,以便在共享对象中使用(即在需要的平台上使用-fpic )。
https://stackoverflow.com/questions/2995000
复制相似问题