【发布时间】:2020-10-23 10:45:11
【问题描述】:
我正在使用 poco 库连接到 mongodb。我的代码正在编译,但是在用完文件时它给了我以下错误
./test_mongo: error while loading shared libraries: libPocoMongoDB.so.71: cannot open shared object file: No such file or directory
libPocoMongoDB.so.71 已经存在于 /usr/local/lib
这是我的 C++ 代码
#include "Poco/MongoDB/MongoDB.h"
#include "Poco/MongoDB/Connection.h"
#include "Poco/MongoDB/Database.h"
#include "Poco/MongoDB/Cursor.h"
#include "Poco/MongoDB/Array.h"
int main(int argc, char** argv)
{
try
{
Poco::MongoDB::Connection connection("localhost", 27017);
}
catch (Poco::Exception& exc)
{
std::cerr << exc.displayText() << std::endl;
}
return 0;
}
我使用下面的命令编译它
g++ -o test_mongo test_mongo.cpp -I/usr/local/include -L/usr/local/lib/ -lPocoMongoDB -lPocoNet -lPocoFoundation
【问题讨论】:
-
你可以试试这些命令:“ldconfig -v|grep libPocoMongoDB”看看是否找到了lib,然后“ldd /usr/local/lib/libPocoMongoDB.so.71”看看是否有缺少依赖项。
-
谢谢。我尝试了 ldconfig 命令,它找到了所有依赖项。另外还找到了另一种方法,只需将所有库从 /usr/local/lib 移动到 /usr/lib。
标签: mongodb poco poco-libraries