我正在编写一个包含以下内容的CMakeLists.txt:
project(FullLibrary C)
enable_language(C ASM)
cmake_minimum_required(VERSION 2.8)
add_subdirectory("${PROJECT_SOURCE_DIR}/Asf")Asf是Atmel在微处理器上构建的库。如果我从这个文件中编译它,我可以直接编译它。我所做的是在目录中创建另一个包含以下内容的文件:
set ( ASF_SOURCES
source_files_removed_for_brevity.c
)
add_library(asf4arm ${ASF_SOURCES} )
SET_TARGET_PROPERTIES(asf4arm PROPERTIES LINKER_LANGUAGE C )# CXX ASM)
SET_TARGET_PROPERTIES(asf4arm PROPERTIES LINK_FLAGS "${LINKER_FLAGS}")我在编译时收到的错误是: fatal error : opening dependency file Asf_arm/CMakeFiles/asf4arm.dir/Asf/sam/drivers/usart/usart.c.obj: No the file or directory I checked and The directory is No,但我没有任何编译错误。如果我将列表复制并粘贴到主CMakeLists.txt中,并更新路径,则所有内容都将正确编译,并且库也会正确生成。我想我漏掉了另一只眼睛能看到的愚蠢的东西。有什么建议吗?
发布于 2014-10-04 07:27:23
我有种感觉,你的project_sourc_dir变量没有正确设置path。
尝试,将add_subdirectory("${PROJECT_SOURCE_DIR}/Asf")更改为add_subdirectory(Asf)
https://stackoverflow.com/questions/26177762
复制相似问题