首页 > 解决方案 > 使用 CMake 的 Visual Studio 中的“无目标体系结构”编译错误

问题描述

我正在尝试将我的C++ CMake项目编译为Visual Studio. 但是,我收到以下错误消息:

#error:  "No Target Architecture"   C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CMakeLists.txt   C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um\winnt.h  154

我检查了我的代码,winnt.h但我从不包括在内windows.h ,所以这排除了从不包括的解决方案winnt.h

这是winnt.h引发错误的代码片段:

//
// TODO: WOWXX - Unblock ARM. Make all alignment checks DWORD for now.
//

#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif !defined(RC_INVOKED)
#error "No Target Architecture"
#endif

我之前在. MinGW_ 我如何判断我的架构是和(?)。除了使其编译之外还需要什么?运行配置设置为. 由于找不到头文件,因此无法包含。我也在使用,但是通过将以下行添加到 my 可以正确解决:WSLWindows Subsystem for LinuxVisual StudioVisual Studio64-bitamd64x64-Debugstdafx.hBoostCMakeLists.txt

set(BOOST_ROOT "C:/local/boost_1_69_0_b1_rc3")

标签: c++visual-studiovisual-c++cmake

解决方案


由于错误消息提到了我的一个文件(例如file_operations.h,我决定使用以下宏定义其中的体系结构

#define _AMD64_ 1

这解决了问题,但我相信通过配置CMakeLists.txtor存在“更好”的解决方案Visual Studio


推荐阅读