【发布时间】:2023-03-16 19:42:02
【问题描述】:
我想在使用 C++ 的基于 ROS 的项目中使用 VLC 库。我正在使用 QT Creator 作为代码编辑器。
我尝试按照下面的教程来实现一个mp3文件的简单播放:A simple C program to play mp3 using libvlc
Since then I'm getting the following exceptions:
undefined reference to `libvlc_new'
undefined reference to `libvlc_media_new_path'
undefined reference to `libvlc_media_player_new_from_media'
undefined reference to `libvlc_media_release'
undefined reference to `libvlc_media_player_play'
undefined reference to `libvlc_media_player_stop'
undefined reference to `libvlc_media_player_release'
undefined reference to `libvlc_release'
collect2: ld returned 1 exit status
make[2]: *** [../bin/my_face_tracker_demo] Error 1
make[1]: *** [CMakeFiles/my_face_tracker_demo.dir/all] Error 2
make: *** [all] Error 2
The process "/usr/bin/make" exited with code 2.
Error while building project my_qbo_interaction (target: Desktop)
When executing build step 'Make'
当然,我在文件中添加了#include "vlc/vlc.h"。此外,我关注the instructions 以确保我添加了链接器的引用。这是我添加到 cmakelist.txt 文件中的内容:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
find_package(LIBVLC REQUIRED)
include_directories(${LIBVLC_INCLUDE_DIRS})
set(LIBS ${LIBS} ${LIBVLC_LIBRARIES})
make 能够编译文件。它还能够找到 LIBVLC 库。这里是 make 的一部分输出:
-- 找到 LibVLC include-dir 路径:/usr/include -- 找到LibVLC库路径:/usr/lib/libvlc.so -- 找到LibVLCcore库路径:/usr/lib/libvlccore.so -- 找到 LibVLC 版本:1.1.12(搜索:0.0) -- 配置完成 -- 生成完成的 CMake 警告:项目未使用手动指定的变量:
CMAKE_TOOLCHAIN_FILE
但我仍然收到上述错误消息...有人可以帮助我吗?
【问题讨论】: