我正在尝试将我的库与其他库一起lib1使用CMAKE 2.8.应该说它在Windows上.
在CMakeLists.txt我有:
add_library(mylib ${sources})
include_directories(${CMAKE_SOURCE_DIR}/lib1/include)
target_link_libraries(mylib ${lib1_path})
Run Code Online (Sandbox Code Playgroud)
但编译器说#include <lib1/foo.h>我的库中的一些是未解析的,可能是因为没有-I.../lib1/include命令行参数gcc.
更新:应该说编译器在编译TESTS时抱怨不是mylib.
检查以下内容:
这条路是否${CMAKE_SOURCE_DIR}/lib1/include/lib1/foo.h存在?
Quote(")传递给路径include_directories,否则当它被空格分割时,你可能会传递几个路径
尝试运行make VERBOSE=1以确切地查看传递给gcc的选项
尝试include_directories()在add_library之前移动invokation.
add_library()指示CMake使用当前的编译器标志集将源编译到库中.编译后更改这些标志没有任何影响.CMake语言不是声明性的.
| 归档时间: |
|
| 查看次数: |
15329 次 |
| 最近记录: |