gpt4 book ai didi

cmake 忽略 -D CMAKE_BUILD_TYPE=Debug

转载 作者:太空狗 更新时间:2023-10-29 16:47:05 27 4
gpt4 key购买 nike

我只是想在 Debug模式下构建一个 cmake 项目以启用断言。我尝试了以下版本:

cmake -D CMAKE_BUILD_TYPE:STRING=Debug -L ../../
cmake -DCMAKE_BUILD_TYPE:STRING=Debug -L ../../
cmake -DCMAKE_BUILD_TYPE=Debug -L ../../

不幸的是,这些都没有达到预期的效果 - CMAKE_BUILD_TYPE 设置为 Debug(因此 NDEBUG 标志未传递给海合会)。

另外,我将 variable_watch(CMAKE_BUILD_TYPE) 添加到我的主 CMakeLists.txt 中,以检查值是否在某处被覆盖。但第一个输出是 READ_ACCESS 在我的主此外,我将 variable_watch(CMAKE_BUILD_TYPE) 添加到我的主 CMakeLists.txt 并且那里的值已经是 Release

有人知道为什么 cmake 会忽略配置吗?

我使用的是 cmake 版本 2.8.7。

最佳答案

好的,fgrep -R "CMAKE_BUILD_TYPE" 终于为我找到了问题所在。在一些 CMakeLists.txt 文件中,我发现了类似的内容:

SET( CMAKE_BUILD_TYPE Release ... FORCE )

这会覆盖每个用户定义的参数(因为 FORCE)。

对我有用的是:

IF( NOT CMAKE_BUILD_TYPE )
SET( CMAKE_BUILD_TYPE Release ... FORCE )
ENDIF()

谢谢你的提示!

关于cmake 忽略 -D CMAKE_BUILD_TYPE=Debug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23907679/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com