文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(一)(4)

面向 C++ 的现代 CMake 教程(一)(3)https://developer.aliyun.com/article/1526964 未引用的参数 在编程世界中,最后一种参数确实比较少见。我们习惯了字符串要以某种方式进行分隔,例如,使用单引号、双引号或反斜杠。CMake 与这个约定不符,并引入了未引用的参数。我们可能会认为省略分隔符可以使代码更容易阅读,就像省略分号一样。这...

文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(一)(1)

序言 打造顶级软件并非易事。开发者在网上研究这一主题时,常常遇到的问题是如何判断哪些建议是更新的,哪些方法已经被更 fresh、更好的实践所超越。与此同时,大多数资源对这个过程的解释是混乱的,没有适当的背景、上下文和结构。 现代 CMake for C++ 是一本端到端的指南,提供了更简单的体验,因为它全面地处理了 C++解决方案的构建。它教会您如何在 CMake 项目中使用 C...

文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(一)(3)

面向 C++ 的现代 CMake 教程(一)(2)https://developer.aliyun.com/article/1526963 CMakeLists.txt CMakeLists.txt列表文件用于配置 CMake 项目。你必须在源树根目录中提供至少一个。这样的顶级文件在配置阶段是第一个被执行的,它至少应该包含两个命令: cmake_minimum...

文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(一)(5)

面向 C++ 的现代 CMake 教程(一)(4)https://developer.aliyun.com/article/1526966 循环 CMake 中的循环相当直接——我们可以使用while()或foreach()来反复执行相同的命令集。这两个命令都支持循环控制机制: break()循环停止剩余块的执行,并从外层循环中断。 continue...

文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(一)(2)

面向 C++ 的现代 CMake 教程(一)(1)https://developer.aliyun.com/article/1526962 生成器的选项 如前所述,在生成阶段,你可以指定一些选项。选择和配置生成器决定了我们将使用我们系统中的哪个构建工具来构建,构建文件将呈现什么样子,以及构建树的结构将如何。 那么,你应该关心吗?幸运的是,答案通常是“不”。CMake 在许...

文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(五)(5)

面向 C++ 的现代 CMake 教程(五)(4)https://developer.aliyun.com/article/1526954 搜索和替换 以下模式可供使用: string(FIND    [REVERSE])在字符串中搜索,并将找到的位置作为整数写入变量。如果使用了REVERSE标志,它从字符串的末尾开始搜索到开头。这仅适用于...

文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(五)(3)

面向 C++ 的现代 CMake 教程(五)(2)https://developer.aliyun.com/article/1526951 准备覆盖模块 为多个目标添加覆盖是一个有点棘手的过程,因为它包括几个步骤。我们首先介绍两个函数,以启用覆盖跟踪并在构建之间清理陈旧的跟踪文件: chapter-12/01-full-project/cmake/Coverage.cma...

面向 C++ 的现代 CMake 教程(五)(3)
文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(五)(2)

面向 C++ 的现代 CMake 教程(五)(1)https://developer.aliyun.com/article/1526950 构建和管理依赖项 所有的构建过程都是相同的。我们从顶层列表文件开始,向下导航到项目源树。图 12.4 显示了哪些项目文件参与构建。圆括号中的数字表示 CMake 脚本执行的顺序: ...

面向 C++ 的现代 CMake 教程(五)(2)
文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(四)(2)

面向 C++ 的现代 CMake 教程(四)(1)https://developer.aliyun.com/article/1526938 Memcheck-Cover 商业 IDE,如 CLion,原生支持解析 Valgrind 的输出,以便可以通过 GUI 轻松导航,而不必滚动控制台窗口以找到正确的消息。如果你的编辑器没有这个选项,你仍然可以通过使用第三方报告生成器获得更清晰...

面向 C++ 的现代 CMake 教程(四)(2)
文章 2024-06-03 来自:开发者社区

面向 C++ 的现代 CMake 教程(四)(5)

面向 C++ 的现代 CMake 教程(四)(4)https://developer.aliyun.com/article/1526942 生成包版本文件 随着您的包的增长,它将逐渐增加新功能,旧的将被标记为弃用,最终被移除。对于使用您的包的开发人员来说,保持这些修改的变更日志是很重要的。当需要特定功能时,开发者可以找到支持它的最低版本并将其用作find_package()的参数...

面向 C++ 的现代 CMake 教程(四)(5)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问