错误

使用CMakeLists编译时报类似错:

# En
cl : Command line warning D9025 : overriding '/MTd' with '/MDd'
# 中文
cl: 命令行 warning D9025 : 正在重写'/MTd'用'/MDd'

原因分析

这种原因是由于设置CMAKE_C_FLAGSCMAKE_CXX_FLAGSCMAKE_C_FLAGS_DEBUGCMAKE_CXX_FLAGS_DEBUG这几个参数时覆盖设置了。

以其中一个参数${CMAKE_C_FLAGS}为例,原来的设置为:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -W0 -bigobj -MTd")

输出${CMAKE_C_FLAGS}

message(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")# output
-- CMAKE_C_FLAGS: /DWIN32 /D_WINDOWS -W3 -MDd

因此会报错,用W3重写W0,用MDd重写MTd。

解决方法

依然以${CMAKE_C_FLAGS}为例,其他参数同理。去掉${CMAKE_C_FLAGS},并保留需要的参数。

set(CMAKE_C_FLAGS "/DWIN32 /D_WINDOWS -W0 -bigobj -MTd")

cmake编译参数重写(正在重写‘/MTd‘用‘/MDd‘)问题相关推荐

  1. CMake设置MSVC工程MT/MTd/MD/MDd

    文章目录 0. 前言 1. 如何设置 1.1 CMakeLists代码 1.2 要点1:POLICY 1.3 要点2:set_property 0. 前言 在MSVC工程上右键->属性,找到配置 ...

  2. MTD/MT/MDD/MD以及LIB/DLL之间的一些联系和问题

    这个话题要从哪里说起呢.博主小白一个,最近调试程序时(WIN-MSVC)连一些基本问题都没弄懂,本着遇见问题一定要解决的原则,下面来说下MTD/MT/MDD/MD以及LIB/DLL之间的一些联系和问题 ...

  3. vs编译c语言停止工作运行库mt,vc++编译时运行库选择(/MT/MTd/MD/MDd)

    vc++编译时运行库选择(/MT/MTd/MD/MDd) vc++编译时运行库选择(/MT./MTd./MD./MDd) 在vs中,项目属性 ->C/C++ ->代码生成 ->运行库 ...

  4. /MD 与 /MT、/MTD与/MDD的区别

    VS在 属性页的 C/C++ -> Code Generation -> Runtime Library 一项中总共有四个选项 /MD 与 /MT./MTD与/MDD,它们分别有什么区别? ...

  5. java重写的目的是什么_什么是重写?重写的作用?

    一.什么是重写? 1.重写(Override)概念 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于 ...

  6. VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别

    VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别 VC编译选项 多线程(/MT) 多线程调试(/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd) C ...

  7. 重写重载—重写详细解释

    重写重载-重写详细解释 重写 重写发生在运行期间,是子类对父类的允许访问的方法的实现过程进行重新编写 1.方法名.参数列表必须相同,子类方法返回值类型应比父类方法返回值类型更小或相等,抛出的异常范围小 ...

  8. MTd与MDd的区别

    C++ 程序修改或移植过程中有时出现编译错误,比如"链接错误,****__crt__**** ", 修改"项目 -> C/C++ ->代码生成 -> 运 ...

  9. VS 编译时 /MD 与 /MT、/MTD与/MDD的区别

    VS在 属性页的 C/C++ -> Code Generation -> Runtime Library 一项中总共有四个选项 /MD 与 /MT./MTD与/MDD,它们分别有什么区别? ...

最新文章

  1. 比 GPT-3 更擅长理解用户意图,OpenAI发布 InstructGPT
  2. Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期
  3. wms仓储系统培训_WMS系统开创智慧仓储新方向
  4. 分布式版本控制系统Mercurial(一):Mercurial基本功能介绍
  5. 大数据是应对安全形势的进攻武器
  6. IDEA自动勾选显示类型(specify type)
  7. 用Webbench进行网站压力测试
  8. 函数指针 和 函数指针数组 和 函数指针数组
  9. i3wm nm-applet每次开机都要输入wifi密码的解决办法
  10. python复制、移动文件到指定文件夹
  11. CSS实现地图(一)
  12. Multisim14简介与安装
  13. 技术分享 | Hulu视频广告系统中的算法应用
  14. Ubuntu下解决firefox profile cannot be loaded it may be missing or inaccessible
  15. 【Linux】CPU信息速查(品牌型号 | 物理CPU数 | 物理核数 | 逻辑核数)
  16. vue+elementui+echarts饼状图内部显示百分比
  17. INSERT 语句与 FOREIGN KEY 约束冲突
  18. http://nianjian.xiaze.com/tags.php?/%E6%BD%BC%E5%85%B3%E5%B9%B4%E9%89%B4/1/13595315666/
  19. 显示服务器人数已满,明日之后服务器人数已满怎么办 排队解决方法
  20. std::accumulate的具体用法

热门文章

  1. nyoj 301递推求值 (矩阵+快速幂)
  2. optipng图片压缩工具
  3. Linux下不小心按下Ctrl+Z的解决
  4. android调用在线天气服务,android通过google api获取天气信息示例
  5. android 绘图之Path与Paint详解
  6. 计蒜客习题:修建大桥
  7. poj 1583 Choose Your Words Carefully
  8. 风丘科技为您提供10M以太网解决方案
  9. AxiomSL任命David Weber为首席运营官兼首席财务官以应对快速的全球增长
  10. 手机消息通知服务器,手机通知消息服务