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

解决qt5.9.4和2015配置xilinx上位机报错问题

解决 Qt 5.9.4 MSVC 版本的头文件冲突问题

核心原则是保持 MSVC CRT 头文件的优先级,避免强制替换为 Windows Kits 的 stdlib.h,否则会导致宏缺失或调用约定错误(如 __cdecl)。以下是具体解决方案:

确保 INCLUDEPATH 顺序正确
Qt 工程可以保留 Windows Kits 的路径,但必须确保 MSVC CRT 头文件路径在前,Windows Kits 路径在后。这样既能使用 MSVC 的 CRT 头文件,又能兼容 UCRT。

推荐 .pro 配置
在 Qt 项目的 .pro 文件中添加以下路径,确保 MSVC CRT 优先:

# MSVC 自带 CRT 优先
INCLUDEPATH = $$[QT_INSTALL_PREFIX]/msvc2015_64/include \"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include" \"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/ucrt" \"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/shared" \"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um"

检查宏污染
确认项目中没有错误定义以下宏,否则可能导致编译冲突:

#define __cdecl
#define WINAPI
#define FAR

如果存在这些宏,需删除或使用 #undef 取消定义。

验证工具链
确保 Qt Creator 的 Kit 配置正确:

  • 选择 Qt 5.9.4 msvc2015_64
  • 使用 MSVC2015 x64 编译器

在命令行执行以下命令,检查 stdlib.hwinnt.h 的来源:

cl /showIncludes main.cpp

确保 stdlib.h 来自 MSVC CRT 路径,而 winnt.h 来自 Windows Kits 的 ucrtsharedum 目录。

常见问题与解决方案

问题解决方案
__cdecl 未识别不要使用 Windows Kits 的 stdlib.h,保持 MSVC CRT 头文件优先
winnt.h 报错确保 INCLUDEPATH 顺序为 ucrtsharedum
Qt 5.9.0 正常,5.9.4 出错Qt 5.9.4 强制使用 Windows 10 SDK,需严格检查宏和调用约定

结论
使用 Qt 官方配置的 MSVC CRT + Windows Kits,避免手动替换 stdlib.h,即可解决编译错误。

http://www.dtcms.com/a/351218.html

相关文章:

  • 学习游戏制作记录(保存装备物品技能树和删除存档文件)8.26
  • 【软考论文】论静态测试方法及其应用
  • 系统设计中的幂等性
  • QPSK调制解调通信仿真程序调试与分析
  • UbuntuV24.04安装mpdecimal库(libmpdec),从源码编译
  • 广告推荐模型3:域感知因子分解机(Field-aware Factorization Machine, FFM)
  • 机器人 - 无人机基础(6) - 状态估计(ing)
  • 1 线性模型
  • 支持向量机(SVM)
  • Java 大视界 -- Java 大数据机器学习模型在金融市场波动预测与资产配置动态调整中的应用
  • 网站开发用什么语言好
  • CentOS扩容非LVM分区
  • PortSwigger靶场之Blind SQL injection with out-of-band interaction通关秘籍
  • Redis--2
  • 在 TencentOS 3 上部署 OpenTenBase:从底层原理到生产级实践的深度指南
  • DBeaver下载安装使用
  • 支持向量机(SVM)算法总结
  • 大数据毕业设计选题:基于大数据的用户贷款行为数据分析系统Spark SQL核心技术
  • 迷你版Shell:源码详解与行为解析
  • 【Linux 34】Linux-主从复制
  • 嵌入式学习日记(34)HTTP协议
  • 支持向量机核心知识总结
  • 读懂支持向量机(SVM)
  • CI/CD 全链路实践:从 Git 基础到 Jenkins + GitLab 企业级部署
  • Flask 之上下文详解:从原理到实战
  • IDEA-Maven和Tomcat乱码问题
  • 2025改版:npm 新淘宝镜像域名地址
  • Uniapp(Vue2)Api请求封装
  • 企业级集群部署gpmall商城:MyCat+ZooKeeper+Kafka 环境部署与商城应用上线流程
  • VxWorks 核心数据结构详解 【消息队列、环形缓冲区、管道、FIFO、双缓冲区、共享内存】