./bin/stipdet: /cm/shared/apps/gcc/4.3.4/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./bin/stipdet)
我在Google上搜索了这个错误,并发现有些人通过删除libstdc++.so.6
并添加一个新的动态链接指向usr/local/lib
来解决类似的问题。但我没有root权限在要运行这个程序的系统上添加/删除文件。
还有其他方法可以解决这个问题吗?
更新:
我尝试将另一个版本的libstdc++.so.6
目录添加到LD_PRELOAD
中,但对我没用,它仍然使用了错误目录下的文件。
当我将正确的目录添加到LD_LIBRARY_PATH
之前,也会出现同样的情况。最后,我尝试从LD_LIBRARY_PATH
中删除所有其他内容,然后添加正确的目录(只是为了尝试)。这似乎修复了原始错误!但现在我在不同的位置收到相同的错误消息:
./bin/stipdet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /var/scratch/user/local/lib/libopencv_features2d.so.2.2)
显然opencv
使用了不同的glibcxx
版本,因此切换到另一个libstdc
会破坏opencv
。这个问题有没有解决的办法?