![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CMAKE实践读书笔记
文章平均质量分 93
个人阅读CMAKE实践时的个人感悟,以及书中的代码分析,欢迎大家共同学习及纠错
嘉子的秃头日记
这个作者很懒,什么都没留下…
展开
-
CMAKE实践读书笔记(1)P1-P12
A:Native编译配置文件是指针对当前机器的特定硬件及操作系统环境所生成的编译配置文件。它可以通过在代码库中包含该文件来确保在不同的机器上构建相同的编译环境,以确保代码在各种平台上的可移植性和一致性。这个文件通常包括编译器选项、链接器选项、库路径和头文件路径等信息,这些信息可以在编译代码时帮助编译器正确地编译和链接代码pkg-config是一个计算机程序,用于检索安装在计算机上的库的元数据,例如库的名称、版本、安装路径和编译选项等。原创 2023-03-26 23:05:43 · 153 阅读 · 0 评论 -
CMAKE实践读书笔记(2)P13-P18
子目录src通常是用来存放源代码的目录,是一个常见的命名方式。在一个项目中,通常会有多个子目录,用来存放不同的代码文件、库文件、头文件、文档等。在CMake中,通过函数可以将一个子目录添加到当前项目中,CMake会在该子目录下寻找文件,并执行其中的命令来构建该子目录。因此,子目录src通常会包含一个文件,用来构建该子目录下的源代码文件。原创 2023-03-27 21:57:22 · 169 阅读 · 0 评论 -
CMAKE实践读书笔记(3)P18-P25
/hello.c 内容如下://hello.h 内容如下:#endif这是一个典型的C语言程序的分离式编译过程。头文件hello.h中包含了函数声明,而函数定义则在源文件hello.c中实现。在编译时,编译器只需要使用头文件中声明的函数,而不需要知道实现的细节。这种分离式编译的好处是可以使代码更加模块化,方便代码维护和更新。此外,头文件的作用还包括提供常量定义、宏定义、结构体、枚举类型等,为源代码提供方便的使用。原创 2023-03-31 19:37:27 · 197 阅读 · 0 评论 -
CMAKE实践读书笔记(4)P26-P30
GLib是一种跨平台的通用型C语言库,提供了许多常见数据结构、并发任务、网络编程、IO等操作的封装,使得开发者能够在不同的操作系统和硬件平台上快速开发出稳健的、高效的应用程序。GLib最初是由GNOME桌面环境项目开发的一种库,但现在已经成为了Linux和UNIX平台下许多其他应用程序的基础库。GLib包含了一些标准的数据结构,例如链表、哈希表、树等,以及一些支持并发和异步编程的工具。此外,GLib还提供了各种支持Unicode和国际化的函数,例如字符串处理、文本编码转换和本地化等功能。原创 2023-03-31 21:39:47 · 236 阅读 · 0 评论 -
CMAKE实践读书笔记(5)P31-P33
在 CMakeLists.txt 文件中,可以使用 set 命令定义自定义变量。其中,VAR_NAME 是变量名,VAR_VALUE 是变量的值。例如,定义一个名为 MY_VAR 的变量,值为 "Hello, World!")在后面的 CMake 代码中,就可以通过 ${MY_VAR} 的方式来引用该变量。在执行 cmake 命令时,也可以使用 -D 选项来设置变量的值。" .是CMake在执行生成指令之前,指定二进制文件目录的变量,通常是CMake生成二进制文件的根目录。原创 2023-04-01 21:58:51 · 173 阅读 · 0 评论 -
CMAKE实践读书笔记(6)P34-P42
RESULT_VARIABLE选项可用于指定一个变量名,该变量将包含包含文件的结果,如果省略该选项,则文件中定义的变量将在cmake中全局可用。这是因为CMake会在生成Makefile之前先处理所有的CMakeLists.txt文件,因此ENABLE_TESTING()会在ADD_TEST()之前被处理,这就保证了ADD_TEST()的正常运行。是一个 CMake 命令,它用于启用测试。是一个 CMake 命令,用于在指定的路径列表中查找一个指定的文件,并将其结果保存到 CMake 变量中。原创 2023-04-05 21:51:43 · 137 阅读 · 0 评论 -
CMAKE实践读书笔记(7)P43-P47
在 C 语言中,文件 I/O 操作需要使用 FILE 结构体来表示文件对象,其中包含了文件的状态信息,例如文件的位置、读写状态等等。其中,参数ptr是指向数据块的指针,size是每个数据块的大小,nmemb是数据块的数量,fp是文件指针。在这个代码片段中,首先使用FIND_PACKAGE命令查找CURL库,如果找到,则使用INCLUDE_DIRECTORIES命令添加CURL库的头文件路径,并使用TARGET_LINK_LIBRARIES命令将CURL库链接到名为“curltest”的目标可执行文件中。原创 2023-04-05 23:09:03 · 176 阅读 · 0 评论