gpt4 book ai didi

debugging - 设置调试和发布配置的 cmake 目标名称

转载 作者:行者123 更新时间:2023-12-01 18:18:02 25 4
gpt4 key购买 nike

我试图区分调试和发布版本。

如果调试构建正在进行中,我想在/usr/local/lib中安装myLibd。如果发布构建正在进行中,我想将 myLib 安装在/usr/local/lib 中。

这是我的方法

IF(CMAKE_BUILD_TYPE MATCHES RELEASE)
SET(LIB_NAME myLib)
ELSE()
SET(LIB_NAME myLibd)
ENDIF(CMAKE_BUILD_TYPE MATCHES RELEASE)

ADD_LIBRARY(${LIB_NAME} ${Source_files} ${Header_files})
INSTALL(TARGETS ${LIB_NAME} DESTINATION /usr/local/lib)

但是,在这两种情况下(CMAKE_BUILD_TYPE=调试或发布)目标名称始终为 myLibd。这里有什么问题吗?

最佳答案

解决方案

设置CMAKE_DEBUG_POSTFIX变量:

if(NOT CMAKE_DEBUG_POSTFIX)
set(CMAKE_DEBUG_POSTFIX d)
endif()

详细信息

What is the problem here?

  • 您需要使用 if(CMAKE_BUILD_TYPE MATCHES Release) 而不是 if(CMAKE_BUILD_TYPE MATCHES RELEASE)
  • 可能您需要清理构建目录
  • 请注意,if(CMAKE_BUILD_TYPE...) 方法不适用于 multi-configuration发电机

关于debugging - 设置调试和发布配置的 cmake 目标名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27506415/

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