【发布时间】:2014-05-27 07:13:49
【问题描述】:
我以前在 ubuntu 上工作。我的 c++ 代码在那里执行得很好,然后我切换到 Centos 6.3 并以与编译它相同的方式编译我的代码 ubuntu 使用 g++。现在,在 centos 上运行代码的可执行文件时,出现以下错误。
这是我在 centos 上制作可执行文件的方法
g++ tcp.cpp -o tcp -lcrafter
错误:
error while loading shared libraries: libcrafter.so.0 : cannot open shared object file : No such file or directory.
编辑:
它使用以下命令运行,但在 Ubuntu 中无需提供路径:
gcc -o tcp tcp.c -L/usr/local/lib -lfoo -Wl,-rpath=/usr/local/lib
如何在不每次都添加路径的情况下做到这一点?
【问题讨论】:
-
ldd -r tcp说什么?以防万一,您没有在 tcp.cpp 中使用 dlopen/sym/close?