私はMinGWを使ってWindows上でプロジェクトを構築しようとしていますが、CMakeはBoostライブラリv1.60.0を使用しています。私はCMakeのを経由して自分のアプリケーションをビルドするとき、私はこのようにそれを行う今CMake Boost静的ライブラリ未定義参照boost :: chrono :: steady_clock :: now()
cd <boost_root>\tools\build
bootstrap.bat gcc
cd ..\..
tools\build\b2.exe --prefix=<boost_install_root> toolset=gcc link=static
:
add_executable(myApp ... .cpp sources ...)
target_include_directories(myApp <myApp include directory> ${Boost_INCLUDE_DIRS})
target_link_libraries(myApp ${Boost_LIBRARIES})
と私はすべてのとほぼ同じいくつかのエラーを取得する私は正常以下でMinGWのでブーストを構築することができました:
<boost_install_root>/lib/libboost_timer-mgw53-mt-1_60.a(cpu_timer.o):cpu_ timer.cpp:(.text+0x25a): undefined reference to `boost::chrono::steady_clock::now()'
ライブラリがすべてあるとCMakeの中から私が言うことができるものから表示されているので、私は何をしないのですか?リンクは、ライブラリの順序は重要であり、適切に機能するために
:
あなたのブーストコンポーネントのリストには、 'find_package(ブースト1.60.0必須コンポーネントクロノ)'というクロノライブラリがありますか? – utopia
はい、私はこの 'find_packagesを使用します(ブースト1.60.0必要なコンポーネントファイルシステムシステムスレッドdate_time regexクロノタイマーOPTIONAL_COMPONENTSログlog_setup' – MrJman006
あなたのCMakeは最近ですか? – usr1234567