运行带有共享库的程序时出错
Error when running program with sharing library
有这样的代码:
#include <cstdlib>
#include <clang-c/Index.h>
using namespace std;
int main(int argc, char** argv)
{
CXIndex Index = clang_createIndex(0, 0);
CXTranslationUnit TU = clang_parseTranslationUnit(Index, 0, argv, argc, 0, 0, CXTranslationUnit_None);
for (unsigned I = 0, N = clang_getNumDiagnostics(TU); I != N; ++I)
{
CXDiagnostic Diag = clang_getDiagnostic(TU, I);
CXString String = clang_formatDiagnostic(Diag,
clang_defaultDiagnosticDisplayOptions());
fprintf(stderr, "%sn", clang_getCString(String));
clang_disposeString(String);
}
clang_disposeTranslationUnit(TU);
clang_disposeIndex(Index);
return 0;
}
它是用以下标志编译的:
g++ main.cpp -g -fno-rtti `llvm-config --cxxflags --ldflags --libs` -lclang -o main
但是当我想运行main:
./main
则有以下错误:
./main: error while loading shared libraries: libclang.so: cannot open shared object file: No such file or directory
然而:$ sudo find / -name libclang.so
/usr/local/lib/libclang.so
Library似乎就位了。如何运行这个程序?
ldconfig创建必要的链接并缓存到最近的在命令中指定的目录中找到的共享库行,在/etc/ld.so.conf文件中,以及可信目录中(/lib and/usr/lib)
尝试运行/sbin/ldconfig
,然后如果不工作,尝试添加文件/etc/ld.so.conf与"/usr/local/lib",然后运行/sbin/ldconfig
命令:
-
运行以下命令,然后重试编译/运行
/sbin/ldconfig
-
如果这不起作用,那么执行此操作,然后再尝试编译/运行
echo "/usr/local/lib">>/etc/ld.so.conf/sbin/ldconfig
相关文章:
- 重载操作程序时出错>>用于类中的字符串 memebr
- 分段错误当我试图运行程序时出错
- 使用 Visual Studio 2019 构建 Hello World wxwidgets 应用程序时出错
- 在另一台 PC 上执行程序时加载 SDL2 共享库时出错
- 修改气泡排序的程序出错
- 包含多维数组的程序出错
- 程序出错C++
- 检查完美的程序出错了
- 带有私有构造函数的程序出错
- LunarLander程序出错:符号未解析
- C++程序出错
- 结构:初始化程序出错
- 编译简单的应用程序出错
- 在树莓派上编译c++ opencv应用程序出错
- 链接基于Qt的应用程序出错
- 简单数学程序出错
- 具有未定义行为但从未实际执行的表达式是否会使程序出错
- 目录列表程序出错,c++
- Qt LNK2019 基本 Qt5 应用程序出错
- 我的简单阶乘计算器c++程序出错了吗?