CMake 是一个跨平台的自动化构建系统,用于管理软件的编译过程。它使用名为 CMakeLists.txt
的配置文件来描述构建过程,并生成特定于平台的构建文件(如 Unix 系统上的 Makefile 或 Windows 上的 Visual Studio 项目文件)。
CMakeLists.txt
文件集中管理构建逻辑。CMakeLists.txt
文件:CMakeLists.txt
:CMakeLists.txt
:CMakeLists.txt
:CMakeLists.txt
:原因:编译器无法找到库的头文件路径。
解决方法:
在库的 CMakeLists.txt
中添加头文件目录:
target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
原因:库文件未正确链接到目标程序。
解决方法:
确保在根目录的 CMakeLists.txt
中正确链接库:
target_link_libraries(my_project mylib)
原因:CMake 版本过低或过高,导致某些功能无法使用。
解决方法: 检查并更新 CMake 版本:
cmake --version
sudo apt-get update
sudo apt-get install cmake
假设我们有一个简单的库 mylib
和一个使用该库的应用程序 my_project
。
mylib.h
#ifndef MYLIB_H
#define MYLIB_H
void say_hello();
#endif // MYLIB_H
mylib.cpp
#include "mylib.h"
#include <iostream>
void say_hello() {
std::cout << "Hello from mylib!" << std::endl;
}
main.cpp
#include "mylib.h"
int main() {
say_hello();
return 0;
}
通过上述步骤和示例代码,你应该能够成功地在 Linux 环境下使用 CMake 编译库和应用。
领取专属 10元无门槛券
手把手带您无忧上云