CMake用来跨平台构建非常方便,特别是开源软件,跨平台的体验基本一致。但是偶尔需要构建32位程序版本时候,很多人就不知道该怎么操作了。
实际上GUI界面平常用来构建非常方便,但是想要在这个界面上生成32位程序却没有找到配置项目。
基本上程序只识别了编译器,比如VS2019,但是并没有选择32或者64位的地方。所以此种方法不通。
平常使用命令行基本没有设置什么参数,这个地方大家应该都知道使用-G参数生成工程文件,比如NMake或者VS解决方案。
如果只是简单的这么用,生成VS解决方案,打开只有x64一个选项,当然如果查看-G可以生成的类型,貌似有个 ARCH 设置,但其实仔细阅读后面的说明部分,这个地方只能使用ARM或者Win64,并没有32位选项
Generators
Visual Studio 17 2022 = Generates Visual Studio 2022 project files.
Use -A option to specify architecture.
* Visual Studio 16 2019 = Generates Visual Studio 2019 project files.
Use -A option to specify architecture.
Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
Optional [arch] can be "Win64" or "IA64".
Visual Studio 9 2008 [arch] = Generates Visual Studio 2008 project files.
Optional [arch] can be "Win64" or "IA64".
其实这个地方还有个-A参数类指定平台,其说明如下
-A <platform-name> = Specify platform name if supported by
generator.
有了这个参数,就可以生成32位的工程了,比如
cmake . -G "Visual Studio 16 2019" -A Win32