Компилировать против статической библиотеки live555 с CMake

Я пытаюсь использовать библиотеку live555 в своей программе. Я использую CMake в качестве системы построения. Я сделал этот CMakeLists.txt:

aux_source_directory(. SRC_LIST)
include_directories("${PROJECT_SOURCE_DIR}/libs/live/BasicUsageEnvironment/include")
include_directories("${PROJECT_SOURCE_DIR}/libs/live/UsageEnvironment/include")
include_directories("${PROJECT_SOURCE_DIR}/libs/live/groupsock/include")
include_directories("${PROJECT_SOURCE_DIR}/libs/live/liveMedia/include")
link_directories("${PROJECT_SOURCE_DIR}/libs/live/BasicUsageEnvironment")
link_directories("${PROJECT_SOURCE_DIR}/libs/live/UsageEnvironment")
link_directories("${PROJECT_SOURCE_DIR}/libs/live/groupsock")
link_directories("${PROJECT_SOURCE_DIR}/libs/live/liveMedia")
add_executable(${PROJECT_NAME} ${SRC_LIST})
set(LIVE_LIBRARIES BasicUsageEnvironment UsageEnvironment groupsock liveMedia)
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} x264 avcodec swscale ${LIVE_LIBRARIES})

Компиляция / компоновка я получил много ошибок, подобных этому:

/home/davide/program/libs/live/groupsock/libgroupsock.a(NetAddress.o):-1: In function `AddressPortLookupTable::AddressPortLookupTable()':

Каждая библиотека уже скомпилирована. Кажется, что эти библиотеки зависят друг от друга, и я должен связать их вместе или в определенном порядке. Кто-нибудь знает, так ли это? Как это сделать?

2

Решение

Это связано не с cmake, а с внутренними зависимостями live555, оно должно работать, изменяя порядок следующим образом:

set(LIVE_LIBRARIES groupsock liveMedia BasicUsageEnvironment UsageEnvironment)
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]