共有ライブラリの読み込みエラー:libboost_thread.so.1.54.0:共有オブジェクトファイルを開くことができません。そのファイルまたはディレクトリはありません。

共有ライブラリの読み込みエラー:libboost_thread.so.1.54.0:共有オブジェクトファイルを開くことができません。そのファイルまたはディレクトリはありません。

MongoDbをQt C ++に関連付けようとしています。ビルド時にエラーはなく、次のメッセージのみが表示されます。

:-1:警告:/usr/local/lib/libboost_thread.soにはlibboost_system.so.1.54.0が必要で、libboost_system.so.5と競合する可能性があります。

ただし、実行しようとすると、次のように表示されます。

共有ライブラリの読み込みエラー:libboost_thread.so.1.54.0:共有オブジェクトファイルを開くことができません。そのファイルまたはディレクトリはありません。

ここに私の小さなコード例があり、すべてが大丈夫です。

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDebug>
#include <mongo/client/dbclient.h>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    try
    {
        mongo::DBClientConnection c;
        c.connect("localhost");

        qDebug() << "Connected to Mongo";
    }
    catch (mongo::DBException &e)
    {
        qDebug() << "Cannot, Error : " << e.what();
    }

}

MainWindow::~MainWindow()
{
    delete ui;
}

このエラーが発生する理由と回避策を説明してください。

編集する:

これは私の.proファイルでもあります。

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = mongodbtest
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

INCLUDEPATH += /usr/local/lib/

LIBS += -pthread \
    -lmongoclient \
    -lboost_thread \
    -lboost_system \
    -lboost_regex

すでにlibboost_thread.so.1.54.0があることがわかりました。

[mg@mg-CentOS mg]$ libboost_thread.so.1.54.0 /usr/local/lib/libboost_thread.so.1.54.0 検索

ベストアンサー1

おすすめ記事