13

Boost.Log ライブラリをテストしたいと思います。残念ながら、リンクエラーが発生します。

私は Arch Linux を使用しており、組み込みのパッケージ マネージャー経由で Boost ヘッダーとライブラリをインストールしましたpacman

  • ブースト 1.54.0-3
  • ブースト ライブラリ 1.54.0-2

を介して公式サイトから簡単な例をコンパイルするg++ log.cpp -lboost_log -lpthreadと、次のエラーが発生します。

log.cpp:(.text+0x42): undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
log.cpp:(.text+0x9b): undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
...

アプリケーションが Boost.Log とのリンクに失敗する理由を読みました。、しかし、リンクエラーを解決できませんでした。boost::log::v2s_mt_posix::trivial::logger::get()入っているライブラリが静的にリンクされているというヒントが得られるだけです。ただし、ディレクトリの下/usr/lib/には、拡張子が.so.

たぶん、誰かがここで何がうまくいかないのか手がかりを持っています。

ありがとうございました。

4

2 に答える 2

0

使用しているcmake場合:

find_package(Boost REQUIRED COMPONENTS system log)
target_link_libraries(credential ${Boost_SYSTEM_LIBRARY} ${Boost_LOG_LIBRARY})

そして使用:

#define BOOST_LOG_DYN_LINK 1
于 2016-10-13T08:34:41.390 に答える