运行出现符号问题 symbol lookup error
运行出现符号问题
symbol lookup error: ../bin/libBykh.so: undefined symbol: _ZN4Json5ValueC1El
查看对应的符号,是未定义
[root@localhost bin]# nm libBykh.so | grep '_ZN4Json5ValueC1El'
U _ZN4Json5ValueC1El
-----------------------------------------------------------------------------------------------------
用的是静态链接 libjsoncpp.a 库
target_link_libraries(Bykh libjsoncpp.a)
查看符号全名
[root@localhost bin]# c++filt _ZN4Json5ValueC1El
Json::Value::Value(long)
-----------------------------------------------------------------------------------------------------
代码如下:
long xb = 88888888888;
Json::Value root;
Json::FastWriter writer;
root["xb"] = xb;
-----------------------------------------------------------------------------------------------------
查看 libjsoncpp.a 里却没有 _ZN4Json5ValueC1El ,有点奇怪
[root@localhost lib]# nm libjsoncpp.a | grep '_ZN4Json5ValueC1E*'
U _ZN4Json5ValueC1Eb
U _ZN4Json5ValueC1Ed
U _ZN4Json5ValueC1Ei
U _ZN4Json5ValueC1ENS_9ValueTypeE
U _ZN4Json5ValueC1ERKS0_
U _ZN4Json5ValueC1ERKSs
U _ZN4Json5ValueC1Ex
U _ZN4Json5ValueC1Ey
0000000000002840 T _ZN4Json5ValueC1Eb
00000000000027e0 T _ZN4Json5ValueC1Ed
0000000000002720 T _ZN4Json5ValueC1Ei
0000000000002750 T _ZN4Json5ValueC1Ej
00000000000028a0 T _ZN4Json5ValueC1ENS_9ValueTypeE
0000000000002870 T _ZN4Json5ValueC1EOS0_
0000000000002930 T _ZN4Json5ValueC1EPKc
0000000000002970 T _ZN4Json5ValueC1EPKcS2_
0000000000002810 T _ZN4Json5ValueC1ERKNS_12StaticStringE
0000000000005130 T _ZN4Json5ValueC1ERKS0_
0000000000002a80 T _ZN4Json5ValueC1ERKSs
0000000000002780 T _ZN4Json5ValueC1Ex
00000000000027b0 T _ZN4Json5ValueC1Ey
U _ZN4Json5ValueC1Eb
U _ZN4Json5ValueC1Ei
U _ZN4Json5ValueC1ENS_9ValueTypeE
U _ZN4Json5ValueC1EPKc
U _ZN4Json5ValueC1ERKS0_