問題タブ [boost-system]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
802 参照

c++ - ブーストを使用したランタイム エラー - 未定義のシンボル: _ZN5boost6system15system_categoryEv

CMake を使用して単純なプロジェクト (共有ライブラリ) をコンパイルしています。これは CMakeLists.txt の内容です。

受け取ったこの共有ライブラリをロードするプログラムを実行すると、コンパイル時にエラーは発生しません。

./test.so: 未定義のシンボル: _ZN5boost6system15system_categoryEv

この共有ライブラリをロードするプログラムは、次のことを行うだけです。

共有ライブラリは Boost の Thread Local Storage を使用します。クラス内のメンバーの 1 つは次のとおりです。

それは私がブーストから使用しているものだけです

0 投票する
1 に答える
537 参照

c++ - 未定義のシンボル boost::system:detail::system_category_instance

beastasioを使用するプレイグラウンド プログラムをコンパイルするときに、macOS Mojave で clang を使用して C++17 標準でブーストをビルドしました。次のエラーが表示されます。
ここに画像の説明を入力

これは私のメイクファイルです:

このチュートリアルで説明されている手順でブーストをコンパイルしました: Compiling Boost with Clang

Clang バージョン:
Apple LLVM バージョン 10.0.0.0 (clang-1000.11.45.5)
ターゲット: x86_64-apple-darwin18.2.0

他に考慮すべきことはありますか?プロジェクト自体で使用する必要があるのと同じ C++ 標準でブーストをコンパイルすることが提案されている多くの投稿などを読みました。

EDIT:
変数名(Boost_対BOOST_)を使用したMatthieu Brucherのヒントがうまくいきました。今、それは働いています。

0 投票する
1 に答える
669 参照

c++ - ブースト システム 1.69.0 はヘッダーのみではありませんか?

Boost システムは 1.69.0 以降のヘッダーのみのライブラリです。ただし、リンクするとlibboost_filesystem.so.1.69.0、次のリンカ エラーが発生します。

libboost_system.soこれは、ヘッダーのみであると思われますが、まだリンクする必要があることを示唆しています。本当にヘッダーのみのシステム ライブラリを取得するには、Boost 自体をビルドするときに特別なフラグを設定する必要がありますか?