四时宝库

程序员的知识宝库

【CMake】(6)包含头文件(c++包含所有头文件的头文件)

这使得在编译时编译器能够找到项目中使用的所有头文件。 include_directories命令用于向项目添加头文件搜索路径,这样编译器就可以在这些路径下查找头文件。

下面是 include_directories使用的一个详细示例和解释。

示例说明

假设你的项目结构如下所示:

MyProject/
├── build/
├── CMakeLists.txt
├── include/
│   └── head.h
└── src/
    ├── add.cpp
    ├── div.cpp
    ├── main.cpp
    ├── mult.cpp
    └── sub.cpp

项目包含了几个源文件和一个头文件。源文件位于 src目录下,头文件位于 include目录下。

CMakeLists.txt

为了让编译器能够在编译过程中找到 head.h头文件,需要在 CMakeLists.txt文件中指定头文件的路径。这可以通过 include_directories命令完成。

cmake_minimum_required(VERSION 3.0)
project(CALC)

# 设置C++标准
set(CMAKE_CXX_STANDARD 11)

# 设置可执行文件的输出路径
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin/)

# 添加头文件搜索路径
include_directories(${PROJECT_SOURCE_DIR}/include)

# 查找当前目录下的所有源文件,并将名称保存到 SRC_LIST 变量
file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)

# 添加一个可执行文件
add_executable(app  ${SRC_LIST})

这里, include_directories(${PROJECT_SOURCE_DIR}/include)告诉CMake在编译时添加 include目录到编译器的头文件搜索路径中。 ${PROJECT_SOURCE_DIR}是一个CMake变量,它指向项目的顶级目录,这样无论项目在哪里构建,编译器总是能找到正确的头文件路径。

  • include_directories命令将指定的目录添加到编译器用于搜索头文件的路径中。这对于组织较大的项目非常有用,可以将声明和实现分离。
  • ${PROJECT_SOURCE_DIR}/include指的是项目根目录下的 include文件夹,这里存放着所有的头文件。当源文件中使用 #include"head.h"时,编译器就会在这个目录下搜索 head.h头文件。
  • 通过 include_directories添加的目录将会被添加到编译器的头文件搜索路径中,这意味着在项目的任何地方都可以直接包含这些目录中的头文件,而无需指定相对或绝对路径。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接