ほぼ3日間、mingwを使用してCodeBlocksでブーストライブラリが正しく機能するようにしようとしています。私が自分で解決することができた多くの問題の間に、今私は立ち往生していて、それは私を怒らせています。
さまざまなフラグを送信してライブラリを何度も構築しましたbjam
が、CodeBlocksでこれらのライブラリを使用するたびに同じ結果が得られます。との行がたくさん
undefined reference to `___gxx_personality_sj0'
undefined reference to `__Unwind_SjLj_Register'
undefined reference to `__Unwind_SjLj_Resume'
undefined reference to `__Unwind_SjLj_Unregister'
人々が私を激しく非難し始める前に、私はここに来る前に問題を探しました。ほとんどすべてのスレッド(こことここと他のスレッド)は、この問題はブーストがコンパイラーで構築されたという事実から来ていると言っています、そして今私はCodeBlocksで別の異なるコンパイラーを使おうとしています。私は何度も何度もチェックしましたが、MinGW
使用できるインストールは1つだけです。変数を確認Path
しましたが、不要なものは何もありません。使用したいMinGWのbinフォルダーのみです。QTをインストールしていないので、そこから2番目のMinGWはありません。また、 MinGWがバンドルされていないCodeBlocksをダウンロードしました。
以下に、私が実行する手順を示します。
1)bootstrap.bat mingw
bjamを構築します
2)ここbjam --toolset=gcc "--prefix=<installpath>" install
に述べられているように
3)ステップ2)のリンクから残りのステップに従います。
4)、、、、および(ここから取得したBoost.Logの依存関係)を追加Boost.Filesystem
しますBoost.System
Boost.DateTime
Boost.Thread
Boost.Regex
5)この例をコピーして貼り付けます
ビルドしようとしたときにCodeBlocksが使用するコマンド:
mingw32-g++。exe-Wall-fexceptions -g
-ID:\ libs \ boost \ include \ boost-1_51 -c D:\ example \ example \ main.cpp -o obj \ Debug \ main.omingw32-g++。exe-LD:\ libs \ boost \ lib -o bin \ Debug \ example.exe obj \ Debug \ main.o D:\ libs \ boost \ lib \ libboost_filesystem-mgw44-mt-d-1_51.a D:\ libs \ boost \ lib \ libboost_system-mgw44-mt-d-1_51.a D:\ libs \ boost \ lib \ libboost_date_time-mgw44-mt-d-1_51.a D:\ libs \ boost \ lib \ libboost_thread -mgw44-mt-1_51.a D:\ libs \ boost \ lib \ libboost_regex-mgw44-mt-d-1_51.a D:\ libs \ boost \ lib \libboost_log_setup-mgw44-mt-d-1_51.a
他に何がこれの原因である可能性がありますか?
後で追加:
CodeBlocksツールチェーンの実行可能ファイルは次のとおりです。
c++ compiler: mingw32-g++.exe
linker for dynamic libs: mingw32-g++.exe
linker for static libs: ar.exe
すべての.EXEは本来あるべき場所にありますが、この情報を追加すると、おそらく重要になります。