cmake 如何使用try_compile?[关闭]

uinbv5nw  于 2023-11-19  发布在  其他
关注(0)|答案(1)|浏览(93)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

6天前关闭
Improve this question
我想在我的代码中使用try_compile。为什么下面的代码不起作用?

try_compile(COMPILATION_RESULT 
             SOURCE_FROM_CONTENT test_source.cpp "#include "logger.h"\n int main(){ return 0; }"
             LINK_LIBRARIES something somethingelse
             CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${DESTINATION_DIRECTORY}/include"
                         "-DINCLUDE_DIRECTORIES=${DESTINATION_DIRECTORY}/include/${SOME_NAME}"
                         "-DLINK_DIRECTORIES=${DESTINATION_DIRECTORY}"
            )

字符串
我转储了DESTINATION_DIRECTORY的内容,它是正确的,${DESTINATION_DIRECTORY}/include肯定包含“logger.h”。看起来这里的CMAKE_FLAGS不起作用。
我的CMake版本是3.27.7
下面的代码显示logger.h exists!!!

if(EXISTS ${DESTINATION_DIRECTORY}/include/logger.h)
  message(STATUS "logger.h exists!!!")
endif()

g2ieeal7

g2ieeal71#

-DINCLUDE_DIRECTORIES不能使用多次,因此解决方案是:

"-DINCLUDE_DIRECTORIES=${DESTINATION_DIRECTORY}/include;${DESTINATION_DIRECTORY}/include/${SOME_NAME}"

字符串

相关问题