cmake:target_include_directories、include_directories

引用路径

include_directories()
target_include_directories()
add_executable( xx.cpp     xx.h)

这三种方式都可以对当前项目添加引用路径。

include_directories

  • include_directories()的影响范围最大,可以为CMakelists.txt后的所有项目添加头文件目录
  • 一般写在最外层CMakelists.txt中影响全局

target_include_directories

  • target_include_directories()的影响范围可以自定义。如加关键子PRIVATE或这PUBLIC。
  • 一般引用库路径使用这个命令,作为外部依赖项引入进来,target是自己项目生成的lib。
    如:
project(myLib)
target_include_directories(myLib PRIVATE ${
    
    OpenCV_Include_dir}

我们将${OpenCV_Include_dir}头文件库路径只添加到了myLib项目

add_executable

  • add_executable( )中添加的引用路径一般是当前目录下的源文件对应的头文件。是生成项目时引入的头文件。

  • 这种方式一般用于自己写的或某项目需要的头文件,这种方式需要加添加文件名字,而非头文件目录
    如:

project(addFunc)
add_executable(addFunc addFunc.h  addFunc.cpp)

猜你喜欢

转载自blog.csdn.net/zhizhengguan/article/details/115331314