Visual studio 2019 使用CMake 时 静态链接的坑

在使用visual studio 打开cmake 工程编译windows 软件时,如果我们使用了静态库,需要加  /MT 或 /MTd 选项,以使程序以静态方式编译和链接。

今天在Visual studio 2019中使用时,无论怎样设置CMakeLists.txt 中的选,程序始终 是以/Md 方式编译,百思不得其解,后来在vs的配置中发现它默认使用/MD 方式,如果不手工强制修改,无法让/MT方式生效。

以下代码是在 CMakeLists.txt 中配置mt方式的。如果你用命令行方式编译,没有任何问题。但是当你打开visual studio 2019 IDE进行编译时,需要注意选项,如下面的图所示

	if(MSVC)
    add_compile_options(
        $<$<CONFIG:>:/MT> #---------|
        $<$<CONFIG:Debug>:/MTd> #---|-- Statically link the runtime libraries
        $<$<CONFIG:Release>:/MT> #--|
    )
    endif()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值