我正在尝试使用lib1将我的图书馆与其他图书馆CMAKE 2.8链接。应该说它在Windows上。

CMakeLists.txt中,我有:

add_library(mylib ${sources})
include_directories(${CMAKE_SOURCE_DIR}/lib1/include)
target_link_libraries(mylib ${lib1_path})

但是编译器说我的库中的某些#include <lib1/foo.h>无法解析,可能是因为-I.../lib1/include没有gcc命令行参数。

更新:应该说编译器在编译TESTS而不是mylib时在提示。

最佳答案

检查以下内容:

  • 路径${CMAKE_SOURCE_DIR}/lib1/include/lib1/foo.h是否存在?
  • 引用(")传递给include_directories的路径,否则当用空格分隔时,您可能会传递多个路径
  • 尝试运行make VERBOSE=1以查看确切的选项正在传递给gcc
  • 关于c++ - CMAKE include_directories,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8192927/

    10-14 15:54