c++动态链接库错误导致的程序运行异常

    昨天改程序,明明代码都编译通过了,但是运行程序时老是出错,一会儿说文件加载异常,一会儿说找不到符号(“symbol lookup error”),在程序中加注释也没有打印,一度怀疑是见鬼了。

    后来搜了一下,一般报的找不到符号错误是因为链接错误造成了,就使用ldd命令查看程序链接了什么动态链接库。结果发现编译时链接的是本地的动态链接库,然后我使用“make install DESTDIR=****”把程序放到了一个文件夹了,结果这时程序加载的动态链接库就变成了系统目录下的程序(以前使用“make install DESTDIR=****”安装到了这个位置),所以才会有前面的现象。

    用了将近一天的时间才搞明白,不过也算有点收获。

猜你喜欢

转载自onmyway-1985.iteye.com/blog/2260896