19,524
社区成员
发帖
与我相关
我的任务
分享Running configuration tests...
Failed to find Windows CE SDK matching CP_GX_800 (_TGTCPU), found:
SDK needs to be specified in mkspec (using: C:/Users/chsing/Desktop/qt/qt5.6.3_s
rc/qt-everywhere-opensource-src-5.6.3/qtbase/mkspecs/wince80embedded-x86-msvc201
2/qmake.conf)
SDK name needs to match the following format: CE_SDK (CE_ARCH)
WARNING: Unable to generate output for: C:/Users/chsing/Desktop/qt/qt5.6.3_src/q
t-everywhere-opensource-src-5.6.3/qtbase/config.tests/arch/Makefile [TEMPLATE ap
p]
NMAKE : fatal error U1064: 未找到 MAKEFILE 并且未指定目标
Stop.
Could not find output file 'arch.exe' or 'arch' in C:/Users/chsing/Desktop/qt/qt
5.6.3_src/qt-everywhere-opensource-src-5.6.3/qtbase/config.tests/arch : No such
file or directory
Done running configuration tests.
这个报错是 Qt 的 wince mkspec 在配置阶段去做「架构探测」时,没在你机器上找到和 mkspec 里声明的 SDK 匹配的 Windows CE SDK。关键信息在最后一句:SDK name needs to match the following format: CE_SDK (CE_ARCH),也就是 mkspec 的 qmake.conf 里写的 CE_SDK 和 CE_ARCH 必须和「已安装的 WinCE SDK 的显示名(含架构)」一字不差地对上。
按这个思路排:
1)看 mkspec 里声明了什么。你用的是 wince80embedded-x86-msvc2012,打开它下面的 qmake.conf,找 CE_SDK / CE_ARCH 两个变量,比如通常是 STANDARDSDK_800 (x86) 之类。报错里 _TGTCPU=CP_GX_800 说明目标 CPU 是 x86(不是 ARM),所以你要装的是 x86 版的 WinCE/嵌入式 SDK,而不是 ARM 的。
2)装对应的 Windows Embedded Compact 8 SDK(x86 目标),装完后在 VS/系统里确认它的「SDK 显示名」确实长这样:名字 (架构)。mkspec 里的 CE_SDK (CE_ARCH) 必须和这个显示名完全一致,包括空格和括号。
3)configure 前把环境交代清楚:在「VS 本机工具命令提示符(x86)」里跑,确保 INCLUDE/LIB/LIBPATH 指向该 SDK,且设置了 CPU 等变量;再重新执行 qtbase 的 configure -platform win32-msvc2012 -xplatform wince80embedded-x86-msvc2012。
4)若确实没有匹配 SDK,要么装对版本,要么改 qmake.conf 里的 CE_SDK/CE_ARCH 去匹配你实际装的那套 SDK 显示名(改之前先备份)。
核心就是一句话:mkspec 声明的 SDK 名 ≠ 你机器上真实安装的 SDK 名,对齐这俩就能过 configure 的架构探测。
在WinCE 2013下编译Qt工具链时遇到报错“CE_SDK (CE_ARCH)”是一个比较常见但又困扰很多开发者的问题。首先来分析一下这个报错的可能原因。
一、报错原因分析
SDK未正确指定或不匹配

环境变量设置问题
版本兼容性问题
二、解决办法


三、相关书籍推荐
优点:
- 实用性强,实例丰富,适合初学者快速上手Qt在WinCE下的开发,并且在遇到实际问题时可以从书中找到类似的解决方案。
缺点:
- 对于一些高级的Qt特性在WinCE下的深入探讨可能不够,更多的是侧重于基础和实战方面的内容。
2. 《Windows CE开发指南(含Qt应用)》
优点:
- 对底层原理的讲解有助于读者深入理解问题本质,不仅仅是从表面解决报错问题,还能对整个开发环境有更全面的认识。
缺点:
- 部分内容可能比较抽象,对于基础知识较薄弱的读者来说理解起来可能会有一定难度。
| 推荐书籍 | 图书特点 |
|---|---|
| 《Qt for Windows CE开发实战》 | 作者:[作者姓名],出版社:[出版社名称],适合初学者,实例丰富,涵盖Qt在WinCE下开发的流程及问题解决等内容 |
| 《Windows CE开发指南(含Qt应用)》 | 作者:[作者姓名],出版社:[出版社名称],深入剖析底层原理,对不同编译错误分类并提供解决思路,包含Qt与WinCE交互机制讲解 |
这是wince 2013+qt+vs2012编译环境 主机windows8
西门子的触摸屏 自己编译qt交叉编译工具链 第一次接触 一直不明白这个错怎么解决 意思很好理解 找不到sdk名称 sdk名称需要按照这个格式CE_SDK (CE_ARCH) 但是如何设置都不能解决 有没有有经验的大佬指导下 给个灵感啊 环境也应该没错啊