c++ - cmake:加载共享库时出错:libva-drm.so.1 即使我安装了 libva-dev 和 libva2
问题描述
在我的可执行文件的链接过程中,我得到了这个:
[ 85%] Linking CXX executable rosek_qml
/usr/bin/ld: warning: libva-drm.so.1, needed by ../bin/libCTMedia_codec.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libva.so.1, needed by ../bin/libCTMedia_codec.so, not found (try using -rpath or -rpath-link)
[100%] Built target rosek_qml
我以前从来没有遇到过这个错误。通常它只是拒绝完成链接。但在这种情况下,它确实完成了。为什么?当我运行可执行文件时,我得到
./rosek_qml: error while loading shared libraries: libva-drm.so.1: cannot open shared object file: No such file or directory
即使我安装了libva2
和libva-dev
.
这是我的 CMake 文件:
add_library(ctmedia_codec SHARED IMPORTED)
add_library(ctmedia_drm SHARED IMPORTED)
add_library(ctstream SHARED IMPORTED)
set_target_properties(ctmedia_codec PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../bin/libCTMedia_codec.so)
set_target_properties(ctmedia_drm PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../bin/libCTMedia_drm.so)
set_target_properties(ctstream PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../bin/libCTStream.so)
target_link_libraries(${PROJECT}
Qt5::Widgets
Qt5::Qml
Qt5::Quick
tesseract -lpthread
ctmedia_codec
ctmedia_drm
ctstream
-lva
-lva-drm
)
解决方案
推荐阅读
- reactjs - 错误:对象作为 React 子对象无效(找到:带有键 {id,name} 的对象)
- javascript - 我可以用子字符串过滤javascript中的对象数组吗?
- javascript - Crypto:加密或解密字符串
- reactjs - 在功能组件的函数内反应redux值返回一个周期后的值
- angular - 将高光设置为范围滑块
- python - 我可以使用来自另一个函数的输入信息作为 Python 中的返回类型吗?
- python - 无法从模板中的数据表中的所有分页发送复选框数据以在 django 中查看
- .net-core - HTTP 错误 403.14 - 禁止 kentico 管理
- azure-devops - Azure Devops 中跨越多个 sprint 的功能
- javascript - 如何在javascript中比较数字