【发布时间】:2016-11-05 14:15:36
【问题描述】:
我正在尝试使用 GLOB_RECURSE 来指定我的源文件和头文件。目前,我的静态库的 CMakeLists.txt 是:
project(LinearSystemLib)
file(GLOB_RECURSE ${PROJECT_NAME}_headers ${PROJECT_SOURCE_DIR}/*.h)
file(GLOB_RECURSE ${PROJECT_NAME}_sources ${PROJECT_SOURCE_DIR}/*.cpp)
add_library(
${PROJECT_NAME} STATIC ${${PROJECT_NAME}_headers}
${${PROJECT_NAME}_sources}
)
install(
TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION libs
ARCHIVE DESTINATION archives
)
库目录如下所示:
LinearSystemLib
CMakeLists.txt
source
LinearSystemLib.cpp
include
LinearSystemLib.h
当我运行命令cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug(在构建目录中)时,一切正常。然而,命令make 会显示以下内容:
/home/felipe/Documents/Dados/SINMEC/Eclipse/LinearSystemLib/source/LinearSystemLib.cpp:1:29: fatal error: LinearSystemLib.h: No such file or directory
我的 CMakeLists 错了吗?我不想设置按名称指定源文件和头文件。我不容易找到有关 glob_recurse 的信息。
我可以通过按名称列出源文件和头文件来使其工作。但是,它必须使用 glob_recurse 或 glob 来完成。
【问题讨论】:
-
请不要在您的问题标题中添加“已解决”之类的字眼,因为这会使其不再是问题。如果某个答案解决了您的问题,请将其标记为已接受。