cmake指定编译器以及32位、64位版本 您所在的位置:网站首页 gcc编译器windows支持架构 cmake指定编译器以及32位、64位版本

cmake指定编译器以及32位、64位版本

2023-08-26 19:44| 来源: 网络整理| 查看: 265

概述 本文演示环境: win10 + VS2017 1.指定变量值

咱们常用命令【cmake ..】在build目录下配置生成项目和解决方案。 其实,这个命令还有其他用法。 指定CMakeLists.txt中的变量值。比如 , fmt 库 的CMakeLists.txt中有一个变量 【BUILD_SHARED_LIBS】,可以在命令行指定其值:

复制cmake -DBUILD_SHARED_LIBS=TRUE ..

对比可知,多了中间指定变量的命令, 其他没有变化。

2.指定编译器版本

使用命令: cmake -G 可知当前cmake支持的编译器

复制 1 Visual Studio 16 2019 = Generates Visual Studio 2019 project files. 2 Use -A option to specify architecture. 3 Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files. 4 Optional [arch] can be "Win64" or "ARM". 5 Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. 6 Optional [arch] can be "Win64" or "ARM". 7 Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. 8 Optional [arch] can be "Win64" or "ARM". 9 Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. 10 Optional [arch] can be "Win64" or "ARM". 11 Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. 12 Optional [arch] can be "Win64" or "IA64". 13 Visual Studio 9 2008 [arch] = Generates Visual Studio 2008 project files. 14 Optional [arch] can be "Win64" or "IA64". 复制命令行,需要给cmake 传递参数 -G 指定编译器的一个例子如下,这里,指定VS2017为例 复制cmake -G "Visual Studio 15 2017 " ..

该命令将默认生成32位程序   注意: 【..】前面有空格 -【扩展】   Linux或者Unix,我经常使用Clang(++) 构建我的程序,通常会在CMakeLists.txt文件最前面project 添加下面的两行,且一定要放在project之前

复制SET(CMAKE_C_COMPILER /usr/bin/clang) SET(CMAKE_CXX_COMPILER /usr/bin/clang++) 3.指定指定生成64位的配置命令

上面显示Vs的版本已经说明了参数格式: Visual Studio 9 2008 [arch] 。 这里的 [arch] 就是需要指定的平台目标。   一个例子帮你理解, 还是以VS2017为例,命令如下:

复制cmake -G "Visual Studio 15 2017 Win64" ..

对比 【2】中的命令多了 【Win64】

4.指定目录下的CMakeLists.txt

习惯上,我更喜欢在和top目录下新建build 目录, 将输出的文件放到这里。【cmake ..】 命令中的【..】其实就是指定 top目录下的CMakeLists.txt文件。 原型:

复制cmake to/path/cmake_lists_txt_dir

其中【 to/path/cmake_lists_txt_dir 】则指向的是CMakeLists.txt所在目录。

Linux下:

export CC=/usr/bin/gcc export CXX=/usr/bin/g++ cmake path/to/your/source

windows: mingw

cmake.exe -G "MinGW Makefiles" .

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有