, 그것은 정적 라이브러리는 간단한 아카이브보다 더 자주 아무것도 없기 때문에, C와 D 사이의 특별한 의존성이 없다는 것을이
project(A)
add_executable(A ${SOURCES_FOR_A})
target_link_libraries(A B C D) # Make A depend on libraries B, C and D
add_library(B STATIC ${SOURCES_FOR_B})
add_library(C STATIC ${SOURCES_FOR_C})
add_library(D STATIC ${SOURCES_FOR_D})
주 같은 수 오브젝트 파일. 정적 라이브러리는 실제로 자체적으로 링크되어 있지 않으므로 실행 파일을 링크 할 때 모든 정적 라이브러리를 제공해야합니다. 라이브러리가 가를 공유하는 경우
다음은 조금 다르다 :
project(A)
add_executable(A ${SOURCES_FOR_A})
target_link_libraries(A B C) # Make A depend on libraries B and C
add_library(B SHARED ${SOURCES_FOR_B})
add_library(C SHARED ${SOURCES_FOR_C})
target_link_libraries(C D) # Make C depend on D
add_library(D SHARED ${SOURCES_FOR_D})
공유 라이브러리는 연결 및 실행 목표와 매우 유사하다. 따라서 대상 A
은 D
에 대한 간접적 종속성을 지정할 필요가 없습니다. C
에 연결되어 있기 때문입니다.
[주의 : 위의 CMake 명령은 필요한 정확한 구문과 인수가 아닐 수 있습니다.
CMake .............................. – Darklighter
CLion은 프로젝트 관리를 위해 [CMake] (https://cmake.org/)를 사용합니다. [해당 문서] (https://cmake.org/cmake/help/latest/)를 읽으십시오. –
@Someprogrammerdude CMake가 의존성을 이미 구축하고 바이너리 만 링크하도록 요구합니까? – Greg