我试图添加PROFILE
到CMAKE_BUILD_TYPES
. 为此,我需要添加-finstrument-functions
到CMAKE_CXX_FLAGS
工具链文件中,并将所属库与 CMakeLists.txt 中的绝对路径通过target_link_libraries
. 到目前为止,一切都很好,没有问题。
但是在刷新构建信息时,cmake 会检查编译器是否仍然有效。而现在“无法编译简单的测试程序”,由于缺少所需的库,该库稍后在 CMakeLists 中链接。
所以我评论了这个-finstrument-functions
标志并且可以编译测试程序。
我尝试过: - 使用 -L -l 将库和路径设置为 CXX 标志的一部分:
使用
link_directories(<dir>)
命令以及SET(CMAKE_LINK_DIRECTORIES_BEFORE <Path> )
和SET(CMAKE_LIBRARY_PATH <Path>)
在工具链文件中设置变量,稍后在 cmakelists 中调用它们:
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.
有没有人有更多的想法?提前致谢。