01_CMake常用的功能汇总

01.包含头文件

在 CMake 中包含头文件可以使用 include_directories() 函数。

该函数可以将一个目录添加到包含目录列表中,CMake 在编译时会在这些目录中查找头文件。

例如,如果我们要包含名为 myheader.h 的头文件,该头文件位于路径 /path/to/myheader.h,则可以使用以下命令:include_directories(/path/to)

然后在源代码中就可以直接包含 myheader.h 头文件了。

02.CMake 生成静态库

要生成静态库,可以使用 CMake 的 add_library 命令并指定库类型为 STATIC,如下所示:

# 定义静态库名称和源文件

add_library(mylib STATIC source1.cpp source2.cpp)

# 指定库的输出路径

set_target_properties(mylib PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)

在上面的示例中,mylib 是静态库的名称,source1.cpp 和 source2.cpp 是库中包含的源文件。set_target_properties 命令用于指定库的输出路径。

使用 add_library 命令时,还可以指定其他选项,例如:

1. PUBLIC:将选项传递给使用库的目标,这些选项包括头文件搜索路径、编译器和链接器选项等。

2.PRIVATE:仅在当前目标中使用,不会传递给使用库的目标。

3.INTERFACE:仅在使用库的目标中使用,不会传递给当前目标。

例如,如果要将 include 目录添加到头文件搜索路径中,并将某些编译器选项传递给使用库的目标,可以使用以下命令:

target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)

target_compile_options(mylib PRIVATE -Wall -Wextra)

03.CMake包含静态库

要在CMake中包含静态库,可以使用add_library命令指定库的名称、类型和源代码文件列表。例如,以下命令将名为mylib的静态库添加到项目中:

add_library(mylib STATIC source1.cpp source2.cpp)

然后,可以使用target_link_libraries命令将库链接到可执行文件或其他库中。例如,以下命令将mylib链接到名为myexe的可执行文件中:

add_executable(myexe main.cpp)

target_link_libraries(myexe mylib)

这将确保在编译myexe时,CMake将mylib静态库链接到可执行文件中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值