【CMake是什么?有什么用?】
【QT入门】qmake和cmake的简单区别
【头文件、库文件的区分与作用】
编译是将源代码文件(如.cpp、.cu、.pyx)转化为二进制目标文件(如.o、.obj)或直接生成库文件(如.so、.dll)
库文件分为两种类型:
静态库(.a 文件):在编译时被直接嵌入到可执行文件中。
动态库(.so 文件或 .dll 文件):在运行时被加载,多个程序可以共享同一个动态库。
CMake是跨平台的编译工具,可以描述工程项目在所有平台的编译过程。一个工程项目有很多文件,有的是实现具体逻辑功能,有的是可能实现编译生成库(Library)的工程模块,文件之间调用关系复杂,如果想要二次开发或者改进,需要知道项目的结构关系。
CMake就是这样的一个命令工具,根据 CMakeLists.txt文档,生成makefile文件,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。
CMake
是一个开源的跨平台构建系统生成器,它的目标是为软件项目提供灵活的、强大的构建配置管理。与 QMake 不同,CMake 不直接执行构建,而是生成适合当前平台和工具链的构建系统(如 Makefile、Visual Studio 工程文件等)。CMake 使用CMakeLists.txt
文件来定义项目构建规则。
QMake
是 Qt 框架的构建工具,通常用于开发 Qt 应用程序。它是 Qt 项目的一部分,虽然也可以用于非 Qt 项目,但它最常见的用途是与 Qt 库结合使用。QMake 通过读取.pro
文件来生成项目的构建规则。