symbol lookup error:: undefined symbol:
2016-08-17 21:13
507 查看
在运行可执行程序时,假定 可执行程序 proc
proc 依赖动态连接库 libtest.so
libtest.so里面有 函数 func,
编译没错,执行出错
symbol lookup error:: undefined symbol: **func**
其可能原因是:连接的libtest.so不是最新的libtest.so,里面没有 func.
而造成没有 找到 最新libtest.so的原因 可能是 在libtest.so的搜索路径上有个旧的库
ps:
库在 搜索时,-ltest 会先在某A目录找.so,如果有.so,查找停止,如果没.so,在目录A找.a,如果找到则停止,都没有则 按照搜索路径 找后续目录B等.
-L./A -ltest_2 -L./B -ltest -ltest.so
这里假定 test_2.a/.so 是第三方提供的库,依赖了test.so,且第三方提供了一个其依赖的test.so 版本。 则A目录(libtest_2.so,libtest.so)
B目录为自己编译的版本的 libtest_3.so库,其依赖 libtest.so 其自己提供了一个libtest.so
即B目录为(libtest_3.so,libtest.so)
在查找路径上 先找 A 目录,再找B目录,如果 A的test.so和B的test.so不兼容(B的比A的新),可能会出现
B中的test库中符号没找到的错误,
这是因为 实际找到的 是 A中的 test库
proc 依赖动态连接库 libtest.so
libtest.so里面有 函数 func,
编译没错,执行出错
symbol lookup error:: undefined symbol: **func**
其可能原因是:连接的libtest.so不是最新的libtest.so,里面没有 func.
而造成没有 找到 最新libtest.so的原因 可能是 在libtest.so的搜索路径上有个旧的库
ps:
库在 搜索时,-ltest 会先在某A目录找.so,如果有.so,查找停止,如果没.so,在目录A找.a,如果找到则停止,都没有则 按照搜索路径 找后续目录B等.
-L./A -ltest_2 -L./B -ltest -ltest.so
这里假定 test_2.a/.so 是第三方提供的库,依赖了test.so,且第三方提供了一个其依赖的test.so 版本。 则A目录(libtest_2.so,libtest.so)
B目录为自己编译的版本的 libtest_3.so库,其依赖 libtest.so 其自己提供了一个libtest.so
即B目录为(libtest_3.so,libtest.so)
在查找路径上 先找 A 目录,再找B目录,如果 A的test.so和B的test.so不兼容(B的比A的新),可能会出现
B中的test库中符号没找到的错误,
这是因为 实际找到的 是 A中的 test库
相关文章推荐
- symbol lookup error: /usr/bin/tic: undefined symbol: _nc_check_termtype2解决
- 运行amanda时报amandad: symbol lookup error: /lib/libamanda-2.6.1p2.so: undefined symbol: g_slist_free_fu
- symbol lookup error: /home/caffe/anaconda/lib/libreadline.so.6: undefined symbol: PC
- sqlldr: symbol lookup error: sqlldr: undefined symbol: sldext
- /usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids
- 关于"symbol lookup error xxxxx , undefined symbol"问题的解决方式
- symbol lookup error:undefined symbol: libssh2_init
- ssh升级以及ssh: symbol lookup error: ssh: undefined symbol: EVP_aes_128_ctr错误处理
- sh: symbol lookup error: sh: undefined symbol: rl_signal_event_hook错误
- symbol lookup error *** , undefined symbol 错误
- symbol lookup error - undefined symbol
- symbol lookup error: /usr/lib64/libwebkit-1.0.so.2: undefined symbol: soup_message_set_first_party
- symbol lookup error: /usr/local/lib/libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr
- ssh: symbol lookup error: ssh: undefined symbol: EVP_aes_128_ctr
- perl: symbol lookup error: /usr/local/lib/libtdsodbc.so: undefined symbol: libiconv_open的解决办法
- runtime:symbol lookup error,:undefined symbol :stat
- 解决syslog-ng: symbol lookup error: /usr/lib/libsyslog-ng.so.0: undefined symbol: g_malloc_n
- CentOS 6.4上wps新建文档错误symbol lookup error: /opt/kingsoft/wps-office/office6/libftex.so: undefined symb
- symbol lookup error: /usr/bin/suricata: undefined symbol: htp_config_set_query_case_insensitive 解决方法
- psql error: psql: symbol lookup error: psql: undefined symbol: PQconnectdbParams