c ++代码迁移到CentOS后出现共享库错误

时间:2014-04-13 09:52:26

标签: c++ centos libpcap

我之前正在研究ubuntu。我的c ++代码在那里执行得很好然后我切换到Centos 6.3并编译我的代码,就像我编译它一样 使用g ++的ubuntu。现在,当我运行代码的可执行文件时,我得到以下错误。

以下是我在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

如何在不添加路径的情况下执行此操作?

2 个答案:

答案 0 :(得分:2)

您应该在LD_LIBRARY_PATH路径中写入包含此库的目录:LD_LIBRARY_PATH = / path / to / your / library

答案 1 :(得分:0)

对接受的答案的补充。您可以在await userManager.CreateAsync(user, model.Password); if (!roleManager.RoleExists("User")) roleManager.Create(new IdentityRole("User")); userManager.AddToRole(userManager.FindByName(user.UserName).Id,"User");

的目录中调用以下Linux命令
libcrafter

sudo ldconfig 实用程序creates必要的链接和缓存到目录中找到的最新共享库