|
使用动态库时,出现 undefined symbol 的错误 ,请问可能是什么原因导致的呢?
这个错误是在用 dlsym() 时产生的
谢谢
我以一个简单的例子来说明我遇到的问题。
现有Test.cpp Test.h Main.cpp 3个文件。 我现在想将Test.cpp 封装成动态库。
于是我用到以下命令来生成动态库:
g++ -g -Wall -c Test.cpp
g++ -shared -o libTest.so Test.o
然后我想在Main.cpp 中用到libTest.so, 于是我又用到以下命令:
g++ Main.cpp -ldl -o DEMO
在Main.cpp中用到libTest.so里的函数,我使用dlopen() dlsym(),将我需要用到的函数拉出来的。
我调试时发现 dlopen() 成功, 错误是在 dlsym() 时产生的 (undefined symbol) |
|