cmake 编译动态库和静态库
时间: 2023-08-24 13:09:29 浏览: 312
要使用 CMake 编译动态库和静态库,你可以按照以下步骤进行操作:
- 创建一个 CMakeLists.txt 文件,该文件描述了构建过程和项目配置。
- 在 CMakeLists.txt 文件中,使用
add_library
命令来定义要构建的库。使用SHARED
参数来指定动态库,使用STATIC
参数来指定静态库。例如:
# 构建动态库
add_library(mylib SHARED src/mylib.cpp)
# 构建静态库
add_library(mylib_static STATIC src/mylib.cpp)
- 如果你有多个源文件,可以将它们一起添加到库中:
# 构建动态库
add_library(mylib SHARED src/mylib.cpp src/other.cpp)
# 构建静态库
add_library(mylib_static STATIC src/mylib.cpp src/other.cpp)
- 如果你想为库定义公共头文件目录,可以使用
target_include_directories
命令。例如:
target_include_directories(mylib PUBLIC include)
- 如果你希望链接其他库到你的库中,可以使用
target_link_libraries
命令。例如:
target_link_libraries(mylib PUBLIC otherlib)
- 最后,在 CMakeLists.txt 文件中添加一个
install
命令,以便在构建过程完成后安装库文件到指定的目录。例如:
install(TARGETS mylib DESTINATION lib)
install(FILES include/mylib.h DESTINATION include)
- 运行 CMake 命令来生成构建系统所需的文件:
cmake .
- 使用生成的构建系统来编译和构建库:
make
在构建过程完成后,你将在指定的目录(例如 lib
)中找到生成的动态库和静态库文件。