归档
善良比聪明更重要
08
15
09
CMake 系列(二十二):让 CMake 支持 GDB 调试 CMake 系列(二十二):让 CMake 支持 GDB 调试
CMake 和 GDB 的结合确实能使 C 或 C++ 的开发工作变得轻松,它们可以共同实现跨平台的项目构建和源代码级别的调试。本文详细介绍如何使用 CMake 配置项目以便使用 GDB 进行调试,并给出一个 C 语言的 demo。 如何支
2022-08-09
02
07
26
19
CMake 系列(十九):add_subdirectory 的作用域 CMake 系列(十九):add_subdirectory 的作用域
随着项目规模的增长,把所有构建逻辑都集中在一个 CMakeLists.txt 文件里,会让项目越来越难维护。接下来几篇我们讨论构建项目的策略,并限制变量的作用范围和副作用,目的是降低代码的复杂性、简化项目的维护。本文将把一个项目分割成几个范
2022-07-19
12
05
CMake 系列(十七):用函数和宏重用代码 CMake 系列(十七):用函数和宏重用代码
任何编程语言中,函数都允许我们抽象(隐藏)细节并避免代码重复,CMake 也不例外。本篇将以宏和函数为例进行讨论,并介绍一个宏,用于方便地定义测试并设置测试的顺序。我们的目标是定义一个宏,用来替换 add_test 和 set_tests_
2022-07-05
06
28
CMake 系列(十六):用 Google Test 做单元测试 CMake 系列(十六):用 Google Test 做单元测试
本篇演示如何在 CMake 的帮助下使用 Google Test 框架实现单元测试。Google Test 不仅仅是一个头文件,更是一个库,包含需要构建和链接的源文件。可以把它们与我们的代码项目放在一起,但为了使代码项目更加轻量级,我们选择
2022-06-28
21
CMake 系列(十五):检测 Boost 库 CMake 系列(十五):检测 Boost 库
Boost 是一组 C++ 通用库。这些库提供了许多现代 C++ 项目不可或缺、但 C++ 标准尚未提供的功能,例如元编程、处理可选参数和文件系统操作等组件。其中许多特性后来被 C++11、C++14 和 C++17 标准所采纳,但对于需要
2022-06-21
14
CMake 系列(十四):检测 Eigen 库 CMake 系列(十四):检测 Eigen 库
BLAS 库为矩阵和向量操作提供了标准化接口,不过这个接口是用 Fortran 语言书写的。虽然已经展示过如何在 C++ 中直接使用这些库,但在现代 C++ 程序中,我们希望有更高级的接口。 纯头文件实现的 Eigen 库使用模板编程来提供
2022-06-14
07
CMake 系列(十三):检测 Python 库 CMake 系列(十三):检测 Python 库
可以使用 Python 工具来分析和操作程序的输出。然而,还有更强大的方法可以将解释语言(如 Python)与编译语言(如 C 或 C++)组合在一起使用。一种是扩展 Python,通过编译成共享库的 C 或 C++ 模块为 Python
2022-06-07
05
31
CMake 系列(十二):检测 Python 解释器 CMake 系列(十二):检测 Python 解释器
Python 是一种非常流行的语言。许多项目使用 Python 编写的工具来打包主程序和库,或者在配置或构建过程中使用 Python 脚本。在这些情况下,需要确保运行时对 Python 解释器的依赖也得到满足。本示例将展示如何检测和使用 P
2022-05-31
11 / 24