는 메이크업의 CMakeLists.txt에서 니펫 : 이제이적 target_include_directories 여기
add_library(foo-object OBJECT src/foo.cpp)
target_include_directories(foo-object PUBLIC include)
add_library(foo SHARED $<TARGET_OBJECTS:${PROJECT_NAME}-object>)
add_library(foo_static STATIC $<TARGET_OBJECTS:${PROJECT_NAME}-object>)
,이 모든 작품을 잘, 두 라이브러리가 생성됩니다. 내가 그것을 사용하려고하면 그러나 나는 문제가있다 :
add_executable(bar src/main.cpp)
target_link_libraries(bar foo)
대상 bar
이 컴파일되지 않습니다, foo는 객체에서 디렉토리를 포함하기 때문에 전파되지 않습니다. 만약 내가에 직접 추가하면 foo
, 모든 것이 잘 컴파일됩니다.
foo
과 foo_static
은 모두 foo-object
의 디렉토리를 자동으로 사용하고 (이에 따라 처리 할 수 있습니다) 어떻게 할 수 있습니까?
좋은 제목 - 쉽게 찾을 수있는 어려운 질문을했습니다. – CJxD