Я хочу использовать библиотеку VLC в проекте в ROS основе с использованием C++. Я использую Qt Creator в качестве редактора кода.Неопределенная ссылка на «libvlc_new», но был связан правильно?
Я пытался следовать следующий учебник для реализовать простое воспроизведение 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"
к файлу Кроме того, я следовал инструкциям на http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries, чтобы убедиться, что я добавить ссылки для компоновщика Это то, что я добавил к 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. Здесь часть продукции от марки:
- Найдено LibVLC включает в себя-Dir пути:/USR/включать - найдено путь к библиотеке LibVLC: /usr/lib/libvlc.so - Найдено библиотека LibVLCcore путь: /usr/lib/libvlccore.so - Найдено LibVLC версия: 1.1.12 (поиск: 0.0) - Конфигурирование сделано - Генерирование сделано CMake Предупреждение: переменные в ручном режиме не использовались проектом:
CMAKE_TOOLCHAIN_FILE
Но я все еще получаю вышеуказанную ошибку сообщения ... Кто-нибудь может мне помочь?
Похоже, вы правильно нашли LIBS VLC, но вы назвали [ 'target_link_libraries'] (http://www.cmake.org/cmake/help/v2.8.10/cmake .html команда #: target_link_libraries)? – Fraser
нет этого нет! Но как на самом деле синтаксис для этого? Я попробовал target_link_libraries (LIBVLC), что привело к тем же проблемам ... – stromflut
Теперь я добавил ответ, так как это, похоже, проблема. – Fraser