4

I'm trying to use the live555 library in my program. I use CMake as building system. I made this 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})

Compiling/linking I got a lot of errors similar to this:

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

Every library is already compiled. Seems that these libraries depends on each other and I have to link them together or in a certain order. Does anyone knows if this is the case? How to do it?

Davide
  • 41
  • 3

1 Answers1

4

This is not due to cmake but internal live555 dependencies, it should works modifying the order like this :

set(LIVE_LIBRARIES groupsock liveMedia BasicUsageEnvironment UsageEnvironment)
mpromonet
  • 11,326
  • 43
  • 62
  • 91
  • 2
    for me, order `liveMedia groupsock BasicUsageEnvironment UsageEnvironment` worked too – Micka Jun 29 '15 at 11:20