【发布时间】:2012-01-09 13:29:17
【问题描述】:
我正在使用下面的代码来测试google的RE2库
int main()
{
int r = RE2::FullMatch("hello", "h.*o");
cout <<" match = " << r << endl;
return 0;
}
我正在使用以下命令进行编译 -
g++ -lre2 -o retest retest.cc
它编译得很好,但是当我尝试使用 ./retest 运行重新测试时,它会抛出以下错误 -
error while loading shared libraries: libre2.so.0: cannot open shared object file: No such file or directory
我已经检查并且 libre2.so.0 库确实存在于 user/local/lib 目录和 re2/obj/so 目录中。那么为什么会出现这个错误我忘记添加一些细节?
【问题讨论】:
-
这可能是一个解决方案吗? edn.embarcadero.com/article/32861。只需将您的 LD_LIBRARY_PATH 设置为指向 libre.so.0 所在的 lib 目录即可。
-
libre2.so.0 文件在哪里?它在您的
LD_LIBRARY_PATH和/或/etc/ld.so.conf 的路径中吗?安装后你运行 ldconfig 了吗?