cmake 之release文件生成 pdb

这篇博客介绍了如何使用CMake在C++项目中配置编译器和链接器,以在发布模式下同时生成调试信息并进行代码优化。通过设置CMAKE_CXX_FLAGS_RELEASE、CMAKE_EXE_LINKER_FLAGS_RELEASE和CMAKE_SHARED_LINKER_FLAGS_RELEASE,可以在生成的exe和dll文件中包含调试信息,确保在优化代码的同时,保留调试能力。
摘要由CSDN通过智能技术生成
	set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
	set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
    set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")

 

网上的答案通常只有两行,第一行和第二、三行的组合。 上面的可以按需组合或无脑全加入CMakeLists.txt

 

需要添加三行标志:

 

第一行:告诉编译器生成调试信息

第二行:告诉链接器生成exe时加入调试信息

第三行: 告诉链接器生成dll时加入调试信息

CMake是一个跨平台的自动化构建系统,它使用CMakeLists.txt文件来控制构建过程。要使用CMake生成文件(lib文件),你需要编写一个CMakeLists.txt文件,并使用cmake命令行工具生成相应的构建文件(如Makefile),然后使用构建系统来编译和链接代码生成文件。 以下是使用CMake生成文件的基本步骤: 1. 创建一个CMakeLists.txt文件,在这个文件中定义项目信息、源代码文件以及目标库文件的类型(静态库或共享库)。 2. 使用`cmake`命令生成构建系统文件。通常在项目根目录下打开命令行,执行如下命令: ``` cmake . ``` 如果你想指定生成的构建目录,可以使用`-B`和`-S`参数来指定构建目录和源代码目录,例如: ``` cmake -B build -S . ``` 3. 使用生成的构建系统文件来编译和链接代码,生成文件。如果你使用的是Makefile,可以进入构建目录,然后运行make命令: ``` make ``` 一个简单的CMakeLists.txt文件可能看起来像这样: ```cmake # 指定最小CMake版本要求 cmake_minimum_required(VERSION 3.10) # 设置项目名称和版本 project(MyLibrary VERSION 1.0) # 指定C++标准 set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 添加一个库文件,此处以静态库为例 add_library(MyLibrary STATIC src/my_source_file.cpp src/my_other_source_file.cpp ) # 指定包含目录 target_include_directories(MyLibrary PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include> ) ``` 在上述例子中,`add_library`命令用于添加一个库,根据你的需求,可以将`STATIC`改为`SHARED`来生成动态库(dll或so文件),并相应地添加源文件
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值