如何建设局域网内部网站,数字营销策划方案,如何建设微网站,网络推广公司方案实际开发的过程中#xff0c;可能有多个版本的编译器#xff0c;不同功能可能需要设置不同的编译参数。 参考文章链接#xff1a;选择编译器及设置编译器选项 目录
一、选择编译器
1、查看系统中已有的编译器
2、选择编译器的两种方式
二、设置编译参数
1、add_compil…实际开发的过程中可能有多个版本的编译器不同功能可能需要设置不同的编译参数。 参考文章链接选择编译器及设置编译器选项 目录
一、选择编译器
1、查看系统中已有的编译器
2、选择编译器的两种方式
二、设置编译参数
1、add_compile_options
2、通过设置CMAKE_CXX_FLAGS来配置
3、add_compile_options 与 CMAKE_CXX_FLAGS 配置的区别 一、选择编译器
1、查看系统中已有的编译器
既然是手动设置编译器那么我们需要知道当前系统中有哪些编译器是允许我们使用的gcc 和 g 编译器都放在了 /usr/bin 目录下。
查看gcc
ls /usr/bin/gcc*
其中 gcc-5 表示的是 gcc 的 5.5 版本gcc 则表示当前的默认版本 查看g
ls /usr/bin/g*
g 也是同理g 表示的是 当前默认版本 2、选择编译器的两种方式
cmake 内置了编译器相关的变量来方便我们手动设置编译器值得注意的是C 编译器和 C编译器的设置使用的是不同的变量
C 编译器对应内置变量为 CMAKE_C_COMPILERC 编译器对应内置变量为 CMAKE_CXX_COMPILERps 方式一命令行设置 使用 cmake 编译时用的是cmake命令我们可以在cmake命令的后面携带附加选项l来指定要使用哪个版本的编译器。
# 设置 C 编译器如果不指定版本的话使用的是 gcc 的默认版本
cmake .. -DCMAKE_C_COMPILER/usr/bin/gcc
# 设置 C 编译器 (指定的编译器为 g9 )
cmake .. -DCMAKE_C_COMPILER/usr/bin/g-9
ps设置的编译器必须是要能在 /usr/bin 下找到的 方式二CMakeLists.txt 设置 # 设置 C 编译器如果不指定版本的话使用的是 gcc 的默认版本
set (CMAKE_C_COMPILER /usr/bin/gcc)
# 设置 C 编译器 (指定的编译器为 g9 )
set (CMAKE_CXX_COMPILER /usr/bin/g-9)
ps这两条命令应该放在文件的开始位置cmake_minimum_required命令之下其他命令之上否则可能无效 二、设置编译参数
配置编译参数有两种方式一种是使用 add_compile_options 命令配置另一种是通过设置变量 CMAKE_C_FLAGS 或者 CMAKE_CXX_FLAGS 来配置。 1、add_compile_options
可以添加多个参数不同参数之间通过空格隔开命令格式如下
add_compile_options(option ...)
示例
if (MSVC)add_compile_options(/W4 /WX)
else(MSVC)add_compile_options(-Wall -Wextra -pedantic -Werror)
endif(MSVC) 2、通过设置CMAKE_CXX_FLAGS来配置
CMAKE_C_FLAGS 是 C 编译器的编译选项CMAKE_CXX_FLAGS 是 C编译器的编译选项两者都仅对当前编译器有效。
# 设置 C 编译器的编译选项
set(CMAKE_C_FLAGS -Wall -O3)# 设置 C 编译器的编译选项
set(CMAKE_CXX_FLAGS-stdc11-Wall-O3
) 3、add_compile_options 与 CMAKE_CXX_FLAGS 配置的区别
add_compile_optionsCMAKE_CXX_FLAGS编译器角度对所有编译器都有效仅针对 C 编译器作用范围的角度作用域是全局对子工程中的编译也有效仅针对当前文件当前子工程的编译
对于一些在整个项目中通用的编译选项可以使用add_compile_options命令来添加比较方便对于各个模块中的独立选项则使用CMAKE_CXX_FLAGS变量更好