问题描述
我的 C++ 代码有一个目录结构,如下所示:
<代码>||->包括|->src
我正在为我的代码编写一个 CMakeLists.txt 文件.我想了解 CMake 中 include_directories 和 target_include_directories 之间的区别.
它们的用法和为了添加我的包含文件路径我应该使用哪一个有什么区别?
include_directories(x/y) 影响目录范围.此 CMakeList 中的所有目标,以及在其调用点之后添加的所有子目录中的目标,都将路径 x/y 添加到它们的包含路径中.
target_include_directories(tx/y) 具有目标范围——它将x/y 添加到目标 t 的包含路径中.
如果您的所有目标都使用相关的包含目录,则您需要前者.如果路径特定于目标,或者您想要更好地控制路径的可见性,则您需要后者.后者来自于 target_include_directories() 支持 PRIVATE、PUBLIC 和 INTERFACE 限定符的事实.>
I have a directory structure for my C++ code which goes like this :
|
|->include
|->src
I am writing a CMakeLists.txt file for my code. I want to understand the difference between include_directories and target_include_directories in CMake.
What is the difference between their usage and in order to add my include file path which one should I be using?
include_directories(x/y) affects directory scope. All targets in this CMakeList, as well as those in all subdirectories added after the point of its call, will have the path x/y added to their include path.
target_include_directories(t x/y) has target scope—it adds x/y to the include path for target t.
You want the former one if all of your targets use the include directories in question. You want the latter one if the path is specific to a target, or if you want finer control of the path's visibility. The latter comes from the fact that target_include_directories() supports the PRIVATE, PUBLIC, and INTERFACE qualifiers.
这篇关于CMake 中的 include_directories 和 target_include_directories 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)