2014-10-03 2 views
0

나는이 콘텐츠와 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는 마이크로 프로세서에 건설 될 아트멜에서 라이브러리입니다. 이 파일 내부에서 컴파일하면 직접 컴파일 할 수 있습니다. 내가 한 일은이 내용으로 디렉토리 안에 다른 파일을 만들 수 있습니다 :

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는/샘/드라이버 /usart/usart.c.obj : 해당 파일이나 디렉토리가 없습니다. 디렉토리를 비었지만 컴파일 오류가 없습니다. 기본 CMakeLists.txt 안에 목록을 복사하여 붙여 넣으면 모든 경로가 올바르게 컴파일되고 라이브러리가 올바르게 생성됩니다. 다른 눈에서 볼 수있는 바보 같은 것을 놓치고 있다고 생각합니다. 제안 사항이 있으십니까?

답변

0

project_sourc_dir 변수에 경로가 올바르게 설정되지 않았다는 느낌이 들었습니다.

시도, 변화 add_subdirectory ("$ {PROJECT_SOURCE_DIR}/ASF는")는

+0

는 의견 닉 주셔서 감사합니다 (ASF)를 add_subdirectory합니다. 나는 이미 그것을 시도했다. 지금 재검사했지만 작동하지 않습니다. 오류는 동일합니다. 시도해 주셔서 감사합니다. – andyinno

+0

디렉토리 이름이 잘못되었습니다. dir 이름이 Asf 대신 Asf4Arm 인 것 같습니다. – Nick

+0

예. 나는 그것을 알아 차렸다. 나는 그 이유를 이해하지 못한다. 툴체인을 교차 컴파일 할 때 발생할 수있는 버그? 오늘은 처음에는 그것을 설치 한 사람이 여기있을 것입니다. 그는 나를보다 훨씬 잘 알고있다. 그가 문제를 파악하는지 보겠다. – andyinno