Я пишу CMakeLists.txt с этим содержанием:CMake add_subdirectory не компилировать правильно
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}")
ошибка я получаю, когда я компилирую это: фатальная ошибка: открытие файла зависимостей Asf_arm/CMakeFiles/asf4arm.dir/Asf/SAM/драйверы /usart/usart.c.obj: Нет такого файла или каталога Я проверил, и каталог пуст, но у меня нет компиляции. Если я копирую и вставляю список внутри основного CMakeLists.txt, и я обновляю путь, который все правильно компилируется, и библиотека правильно сгенерирована. Я думаю, что мне не хватает чего-то глупого, что может видеть другой глаз. Любые предложения?
Спасибо за ваш комментарий Ник. Я уже попробовал. Я перепробовал сейчас, но это не сработает. Ошибка такая же. Спасибо за вашу попытку. – andyinno
Похоже, что имя каталога неверно. Похоже, что имя dir является Asf4Arm, а не просто Asf .. – Nick
да. Я это заметил. Я просто не понимаю, почему. Возможная ошибка с перекрестными компиляторами? Сегодня будет тот парень, который настроил его сначала. Он знает, что кокетка намного лучше меня. Я посмотрю, выяснит ли он проблему. – andyinno