0

に追加PROFILEしてみましたCMAKE_BUILD_TYPES。このためには、ツールチェーン ファイルに を追加-finstrument-functionsCMAKE_CXX_FLAGS、所属するライブラリを を介して CMakeLists.txt の絶対パスにリンクする必要がありますtarget_link_libraries。これまでのところ、問題なく良好です。

しかし、ビルド情報を更新するとき、cmake はコンパイラがまだ仕事をしているかどうかをチェックします。そして今、必要なライブラリが不足しているため、「簡単なテスト プログラムをコンパイルできません」。このライブラリは後で CMakeLists にリンクされます。

そのため、フラグにコメントする-finstrument-functionsと、テストプログラムをコンパイルできました。

私はしようとしました: - ライブラリとパスを -L -l で CXX フラグの一部として設定します:

  • and とlink_directories(<dir>)同様にコマンドを使用します。SET(CMAKE_LINK_DIRECTORIES_BEFORE <Path> )SET(CMAKE_LIBRARY_PATH <Path>)

  • toolchainfile で変数を設定し、後で cmakelist で呼び出します。

SET(ADDITIONAL_PROFILE_LIBRARY  "$ENV{QNX_BASE}/target/qnx7/armle-v7/usr/liblibprofilingS.a")
SET(ADDITIONAL_PROFILE_FLAGS "-finstrument-functions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" "${ADDITIONAL_PROFILE_FLAGS}")
add_executable(toolchainTester main.cpp)
target_link_libraries(toolchainTester ${ADDITIONAL_PROFILE_LIBRARY})

しかし、エラーが発生します:mingw32-make.exe[3]: *** No rule to make target 'C:/qnx700/target/qnx7/armle-v7/usr/liblibprofilingS.a', needed by '../out/profileout'. Stop.

他にアイデアはありますか?前もって感謝します。

4

1 に答える 1