cmake配置debug和release库名称

文章介绍了在使用CMAKE管理工程时,如何避免Debug和Release版本的库文件或DLL混淆。通过设置CMAKE_DEBUG_POSTFIX和CMAKE_RELEASE_POSTFIX,可以分别为Debug和Release模式的输出文件添加_debug和_release后缀,确保它们在同一目录下不会冲突。建议只在Debug模式下添加D后缀作为区分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        CMAKE在管理工程时,需要同时编译Debug和Release版本,但是两个版本输出的文件无论是lib还是dll,名称都是是完全相同。

        如果要输出在同一个目录中是非常麻烦的,非常容易混淆,可以使用以下命令设置debug和Release输出文件后缀的方式进行区分。

if(WIN32 AND NOT MINGW)
  if(NOT DEFINED CMAKE_DEBUG_POSTFIX)
    set(CMAKE_DEBUG_POSTFIX "_debug")
  endif()
  if(NOT DEFINED CMAKE_RELEASE_POSTFIX)
    set(CMAKE_RELEASE_POSTFIX "_release")
  endif()
  if(NOT DEFINED CMAKE_RELWITHDEBINFO_POSTFIX)
    set(CMAKE_RELWITHDEBINFO_POSTFIX "_release")
  endif()
  if(NOT DEFINED CMAKE_MINSIZEREL_POSTFIX)
    set(CMAKE_MINSIZEREL_POSTFIX "_release")
  endif()
endif()

上面命令分别设置Debug模式下后缀为“_debug”,在Release模式下后缀为“_release”。

可以在根目录下的的CMakeLists.txt文件中设置该命令,则整个项目中子工程的dll和lib都会添加相应的后缀。

要注意该命令要放在目标生成之前,放在后面是无效的。

个人建议只在Debug模式下添加后缀“D”,Release模式下不添加即可区分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值