首页 > 后端开发 > C++ > 如何在 CMake 中正确配置标头包含目录?

如何在 CMake 中正确配置标头包含目录?

Patricia Arquette
发布: 2024-12-18 14:27:10
原创
544 人浏览过

How to Properly Configure Header Include Directories in CMake?

使用 CMake 配置标头包含目录

了解 CMake 的标头依赖管理

CMake 最初会在项目外部处理标头文件目录作为外部资源。此行为可能会导致生成的项目中出现依赖项跟踪问题。

解决方案:指定包含目录

要正确包含标头,需要两个步骤:

  1. 添加包含目录:

    • 对最近的 CMake 版本(例如 3.0 )使用 target_include_directories:

      target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
      登录后复制
    • 对于较旧的 CMake 版本(例如、2.8.10 或之前版本,没有 target_include_directories support):

      include_directories(${YOUR_DIRECTORY})
      登录后复制
  2. 在目标源列表中包含标头文件:

    要跟踪依赖项,请添加标头文件添加到源列表target:

    set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)
    add_executable(test ${SOURCES})
    登录后复制

示例:将标头链接到多个目标

要在多个目标之间共享标头文件:

set(HEADER_FILES ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)

add_library(mylib libsrc.cpp ${HEADER_FILES})
target_include_directories(mylib PRIVATE ${YOUR_DIRECTORY})
add_executable(myexec execfile.cpp ${HEADER_FILES})
target_include_directories(myexec PRIVATE ${YOUR_DIRECTORY})
登录后复制

以上是如何在 CMake 中正确配置标头包含目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板