首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向cmake中添加libvpx

如何向cmake中添加libvpx
EN

Stack Overflow用户
提问于 2022-07-14 12:45:49
回答 1查看 85关注 0票数 0

我需要在我的vp8项目中使用c++编码器。我编译了ffmpeg,使libvpx库能够使用

/配置-启用-libvpx

如何将它添加到CmakeLists.txt中。链接时,我得到了链接错误

target_link_libraries(main "/path/to/libav")

EN

回答 1

Stack Overflow用户

发布于 2022-07-14 13:24:22

使用target_link_libraries

target_link_libraries需要一个库文件的完整路径,所以不要调用

代码语言:javascript
复制
target_link_libraries(main PUB"/path/to/lib")

你应该这样做

代码语言:javascript
复制
target_link_libraries(main "/path/to/lib/lib.so")

使用target_link_directoriestarget_link_libraries

您可以显式提供目录,链接器将在其中查找库。将此与target_link_libraries相结合,您将得到

代码语言:javascript
复制
target_link_directories(main INTERFACE|PUBLIC|PRIVATE "/path/to/lib")
target_link_libraries(main lib)

使用pkg-config

FFmpeg生成pkg-config文件,这是处理依赖关系的一个方便的解决方案。CMake有一个模块,它支持pkg-config:FindPkgConfig

代码语言:javascript
复制
find_package(PkgConfig)

它提供了一个函数pkg_check_modules,用于搜索库的.pc文件。假设您有一个文件lib.pc,您应该调用

代码语言:javascript
复制
pkg_check_modules(LIB lib)

现在可以通过使用pkg-config设置的特定变量与库链接:

代码语言:javascript
复制
target_link_libraries(main ${LIB_LIBRARIES})
target_link_directories(main ${LIB_LIBRARY_DIRS})
target_include_directories(main ${LIB_INCLUDE_DIRS})

别忘了检查你的图书馆是否真的被发现了:

代码语言:javascript
复制
if(NOT LIB_FOUND)
    # error message
endif()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72980750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档