C++ 使用共享库运行程序时出错

C++ 使用共享库运行程序时出错,c++,ubuntu,shared-libraries,C++,Ubuntu,Shared Libraries,有这样的代码: #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,

有这样的代码:

#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, "%s\n", clang_getCString(String));
        clang_disposeString(String);
    }
    clang_disposeTranslationUnit(TU);

    clang_disposeIndex(Index);

    return 0;
}
但是,当我要运行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
图书馆似乎已就位。如何运行这个程序

ldconfig创建指向最新版本的必要链接和缓存 在命令中指定的目录中找到共享库 行,位于文件/etc/ld.so.conf和受信任目录中 /lib和/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

$ sudo find / -name libclang.so
/usr/local/lib/libclang.so