如何修复 CMake target_include_directories called with invalid arguments

问题:

在你的 CMakeLists.txt 中,你想使用类似这样的代码为可执行文件 myexe 添加 include 目录如 /usr/include/mylibrary

CMakeLists.txt
target_include_directories( myexe /usr/include/mylib )

但当你尝试使用 cmake .make 配置构建时,你看到类似这样的错误消息

cmake_error.txt
CMake Error at CMakeLists.txt:8 (target_include_directories):
  target_include_directories called with invalid arguments


-- Configuring incomplete, errors occurred!

解决方案

你需要在目标名称(myexe)和 include 目录之间添加 PUBLIC

CMakeLists.txt
target_include_directories( myexe PUBLIC /usr/include/mylib )

Check out similar posts by category: CMake