动态库(.so)文件中没有静态库文件或functins的符号。
我正在使用ubuntu 18.04和12.04系统。 我使用-fPIC选项从cpp文件创建了一个目标文件,而不是创建的静态库(.a)。 之后,我使用命令创建了一个动态库:g ++ -shared -I(包含路径)-L(其他库路径)-l(库)-o filename.so -Wl,-soname,filename.so staticlib.a“ 我显示了在12.04 ubuntu系统中创建的符号,但未显示在18.04系统中。 我展示了so文件是由so文件中没有符号创建的。我们可以使用nm -g filename .so。
进行检查。如果我尝试使用12.04,则会在18.04系统的nm命令中得到这种类型的结果,它会给我所有cpp文件的整个sysmbols。
$ nm -g libPJ.so
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
0000000000201020 B __bss_start
w __cxa_finalize
w __gmon_start__
0000000000201020 D _edata
0000000000201028 B _end
000000000000052c T _fini
0000000000000410 T _init