1. -g 编译带调试信息的可执行文件 # -g 选项告诉 GCC 产生能被 GNU 调试器GDB使用的调试信息,以调试程序。 2. -O[n] 优化源代码 # 所谓优化,例如省略掉代码中从未使用过的变量、直接将常量表达式用结果值代替等等,这些操作 # 会缩减目标文件所包含的代码量,提高最终生成的可执行文件的运行效率。 # -O...
cmake -G Ninja ..-G "Visual Studio 16":生成适用于Visual Studio 2019的项目文件。 例如: cmake -G "Visual Studio 16" ..-G "Xcode":生成适用于Xcode IDE的项目文件。 例如: cmake -G "Xcode" ..-G "CodeBlocks - Unix Makefiles":生成适用于Code::Blocks IDE的Makefile文件。 例如: cmake -...
最后再次强调,在使用 gcc 编译程序的时候可以通过参数控制内部自动执行几个步骤:(命令:gcc/g++ xxx.cpp -o xxxexe) 三、cmake与make区别 当你的程序只有一个源文件时,直接就可以用gcc命令编译它。但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大。 什么是make? 所以出现...
-g是编译器参数,表明需要添加调试信息。CMAKE_BUILD_TYPE是cmake工具支持的配置变量,表明构建的类型,...
从而间接影响编译器的行为,包括是否启用-g参数。综上所述,理解-g编译参数和CMAKE_BUILD_TYPE设置之间的区别与联系,有助于开发者在编译过程中灵活运用调试信息和优化代码性能,确保项目在不同开发阶段满足高效调试和高效运行需求。正确设置这些参数,能够显著提升开发效率与产品质量。
1.-G:指定生成的构建系统。常用的选项有“nmake”、“make”、“cmake”等。 2.-A:指定架构。例如,“x86_64”、“i386”等。 3.-S:指定源代码目录。 4.-B:指定构建目录。 5.-D:设置预定义变量。例如,“DMY_VARIABLE=1”。 6.-P:指定递归查找子目录。 三、构建选项 CMake 提供了一些构建选项,用于...
cmake本身配置就与环境和编译器完全无关了,可以由生成时指定。 cmake编译一个直接程序的配置也就一个函数add_executable的调用: cmake_minimum_required(VERSION 3.20) project(xlog) add_executable(first_main first_main.cpp) 四cmake指定编译器(cmake -G) ...
cmake本身配置就与环境和编译器完全无关了,可以由生成时指定。 cmake编译一个直接程序的配置也就一个函数add_executable的调用: cmake_minimum_required(VERSION 3.20) project(xlog) add_executable(first_main first_main.cpp) 四cmake指定编译器(cmake -G) ...
在使用CMake构建项目时,编写CMakeLists.txt文件来描述项目的构建过程并生成Makefile文件,同时利用命令行参数进行更灵活的构建控制,以满足具体项目需求。CMake命令行参数 -G:指定生成器,用于转换CMake生成的文件为适用于不同构建系统的实际文件,如Unix Makefiles、Ninja、Visual Studio等。例如,使用-c...
cmake和makefile区别和cmake指定编译器(cmake -G) 一、cmake和makefile区别 要说明区别,我们先要区分下面三类工具: 1.项目构建生成工具 首先cmake是项目构建生成工具,cmake的代码可以与平台系统和编译器无关。类似cmake的工具还有autotools、qmake、GN,其中qmake已基本由cmake替代。cmake下载地址 cmake.org.cn...