【发布时间】:2014-08-21 09:20:18
【问题描述】:
我是 CMake 的新手,我真的不知道我在做什么...... 我目前正在尝试将静态库(libavcodec.a)与共享库(GreenVideo)链接起来。我一直有错误说我的静态库提供的函数是“未定义的引用”。我的 CMakeLists.txt 看起来像这样:
PROJECT(GreenVideo)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include/)
link_directories(/home/nde/svn/Visio/trunk/applications/dorsalistaApp/components/GreenVideo/lib)
ADD_LIBRARY( GreenVideo SHARED
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/xvmc.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/vdpau.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/dxva2.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/avcodec.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/avfft.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/dv_profile.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/vaapi.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/vda.h
${CMAKE_CURRENT_SOURCE_DIR}/include/libavcodec/version.h
metadatagen.h metadatagen.cpp
greenvideofactory.h
greenvideofactory.cpp
)
target_link_libraries(GreenVideo /home/nde/svn/Visio/trunk/applications/dorsalistaApp/components/GreenVideo/lib/libavcodec.a)
我这样做有什么可疑之处吗?
问候, 尼古拉斯
【问题讨论】:
标签: c cmake static-linking dynamic-linking