当前位置: 首页 > article >正文

QT之error: LNK2038: 检测到“RuntimeLibrary”的不匹配项

静态编译了个QT5.15.16的库,结果按照老方法无法正常使用,报错

Qt5Widgets.lib(qtabwidget.obj):-1: error: LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(mocs_compilation.cpp.obj 中)

查阅了挺多资料,尝试许久,发现解决方式如下:

在项目的cmakelist里增加如下内容

# 判断是否使用 MSVC 编译器
if(MSVC)
    # 设置策略CMP0091为NEW,新策略
    if (POLICY CMP0091)
      cmake_policy(SET CMP0091 NEW)
    endif (POLICY CMP0091)
    # 设置MT/MTd
    set_property(TARGET Qt_static_third PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()

 一定要用上面这种。

下面这种没用。

# 判断是否使用 MSVC 编译器
if(MSVC)
    # 获取当前的构建类型
    if(CMAKE_BUILD_TYPE STREQUAL "Debug")
        # 调试模式下添加 /MTd 标志
        set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
    elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
        # 发布模式下添加 /MT 标志
        set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
    endif()
endif()


http://www.kler.cn/a/546449.html

相关文章:

  • 详解C++的存储区
  • 红队视角出发的k8s敏感信息收集——持久化存储与数据泄露
  • Debezium日常分享系列之:解码逻辑解码消息内容
  • 李宏毅机器学习笔记:【5.Batch和Momentum的训练技巧】
  • 【踩坑】pytorch模型导出部署onnx问题记录
  • 登录弹窗效果
  • 美国哈美顿零件号A203560 HAMILTON 10µl 1701 N CTC (22S/3) A200S 203560
  • AI 编程私有化部署,在使用 cline 时,可能无法避免私隐的泄漏问题
  • CentOS 系统上安装 Anaconda3-2022.05-Linux-x86_64.sh linux安装python3.9
  • SAP-ABAP:SAP屏幕数据的处理逻辑
  • 【C语言】C语言 停车场管理系统的设计与实现(源码)【独一无二】
  • python 爬虫教程 0 基础入门 一份较为全面的爬虫python学习方向
  • ubuntu服务器部署
  • Cursor AI开发微信小程序教程
  • 企业文件安全:零信任架构下的文件访问控制
  • Labview课程2:通过S7.net读取西门子PLC中变量并绘图
  • 【核心特性】深入对比:try catch 与 Go 的 error 模式
  • Linux软件编程(1)
  • JAVA学习-练习试用Java实现“结合Apache Nifi对大数据流进行自动化处理和筛查”
  • 探索顶级汽车软件解决方案:驱动行业变革的关键力量