使用cmake如何编译成lib下面的库
时间: 2024-03-10 07:50:48 浏览: 85
使用CMake构建库非常简单。下面是一个简单的示例,假设您有一个名为“my_library”的C库,其中包含一个名为“my_library.c”的源文件和一个名为“my_library.h”的头文件。
1. 创建一个名为“CMakeLists.txt”的文件,并在其中添加以下内容:
```
cmake_minimum_required(VERSION 3.0)
project(my_library)
add_library(my_library STATIC my_library.c)
target_include_directories(my_library PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
```
这将定义一个CMake项目,并创建一个名为“my_library”的静态库。该库将使用“my_library.c”文件中的源代码构建,并将头文件路径添加到库的公共接口中。
2. 在库源代码所在的目录中创建一个名为“build”的目录,并进入该目录。
```
mkdir build
cd build
```
3. 运行CMake来生成构建系统。
```
cmake ..
```
如果您需要使用特定的编译器或编译选项,请使用“-DCMAKE_C_COMPILER”和“-DCMAKE_C_FLAGS”选项传递它们。
4. 运行构建系统来构建库。
```
cmake --build .
```
这将使用默认构建系统(通常为Make或Ninja)来构建库。构建完成后,您将在“build”目录中找到生成的库文件“libmy_library.a”。
请注意,这只是一个简单的示例。您可以使用CMake来构建更复杂的库,例如跨平台共享库(动态库)或用于生成不同版本的库(例如Debug和Release)。有关更多信息,请参阅CMake文档。
阅读全文