Russian Qt Forum
Ноябрь 26, 2024, 21:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с подключением vlc-qt к проекту  (Прочитано 12221 раз)
Lettuce
Гость
« : Май 06, 2013, 11:58 »

Пытаюсь подключить vlc-qt библиотеку к проекту:
Код:
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = VLCProject
TEMPLATE = app

INCLUDE += vlc-qt

SOURCES += main.cpp\
        widget.cpp

HEADERS  += widget.h

FORMS    += widget.ui

LIBS += -Llibvlc-qt
#LIBS += libvlc-qt.dll
#LIBS += libvlc-qt.dll.a

но появляются ошибки:
Код:
C:\Users\Leo\Documents\Projects\build-VLCProject-Desktop_Qt_5_0_2_MinGW_32bit-Debug\debug\widget.o:-1: In function `ZN6WidgetC2EP7QWidget':
C:\Users\Leo\Documents\Projects\VLCProject\widget.cpp:18: ошибка: undefined reference to `_imp___ZN11VlcInstanceC1ERK11QStringListP7QObject'
C:\Users\Leo\Documents\Projects\VLCProject\widget.cpp:19: ошибка: undefined reference to `_imp___ZN8VlcMediaC1ERK7QStringRKbP11VlcInstance'

На простое подключение библиотек (закомментированный вариант) ругается:
Код:
:-1: ошибка: cannot find -lvlc-qt.dll
:-1: ошибка: cannot find -lvlc-qt.dll.a
collect2.exe:-1: ошибка: error: ld returned 1 exit status

Кусок кода:
Код:
VlcInstance *instance = new VlcInstance(args, this);
VlcMedia *media = new VlcMedia("Techno-CandyDance.flv", true, instance);
VlcMediaPlayer *player = new VlcMediaPlayer(instance);

player->open(media);
player->play();

Что я делаю не так?
« Последнее редактирование: Май 06, 2013, 12:07 от Lettuce » Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #1 : Май 06, 2013, 12:07 »

http://en.wikipedia.org/wiki/Name_mangling
Записан
Lettuce
Гость
« Ответ #2 : Май 06, 2013, 12:20 »

Всё равно не понял как решить проблему Плачущий
Записан
KrupaKarlo
Гость
« Ответ #3 : Май 06, 2013, 12:32 »

Предложу самое просто решение  но для windows  Строит глазки когда мне надо было подрубить VLC. Я просто взял тупо поставил VLC на комп. Он ставит ActiveX компонент. Ставишь  ActiveX компонент на форму и работает
Записан
Lettuce
Гость
« Ответ #4 : Май 06, 2013, 12:37 »

Предложу самое просто решение  но для windows  Строит глазки когда мне надо было подрубить VLC. Я просто взял тупо поставил VLC на комп. Он ставит ActiveX компонент. Ставишь  ActiveX компонент на форму и работает

Не вариант, мне надо поднять видео-сервер для вещания с компа, и хотелось бы сделать это через qt-обёртку.
Записан
KrupaKarlo
Гость
« Ответ #5 : Май 06, 2013, 12:41 »

да не в тему  Улыбающийся
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #6 : Май 06, 2013, 12:47 »

Всё равно не понял как решить проблему Плачущий
Каким компилятором скомпилированы, используемые вами, библиотеки ?
Записан
Lettuce
Гость
« Ответ #7 : Май 06, 2013, 13:14 »

Каким компилятором скомпилированы, используемые вами, библиотеки ?

Компилятор MinGW 4.7 32х битный, входит в состав Qt5. Делал по инструкции.
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #8 : Май 06, 2013, 13:23 »

Внимательно подключайте библиотеки
http://qt-project.org/doc/qt-4.8/qmake-project-files.html#declaring-other-libraries
Записан
Lettuce
Гость
« Ответ #9 : Май 06, 2013, 13:39 »

Сделал всё как написано:
Код:
LIBS += -llibvlc -llibvlc-qt -llibvlccore

в ответ получил:
Код:
:-1: ошибка: cannot find -llibvlc
:-1: ошибка: cannot find -llibvlc-qt
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #10 : Май 06, 2013, 14:06 »

 ну теперь еще добавте
Код:
LIBS += -Lpath/to/vlc/libs

да, и , взможно надо добавлять не -llibvlc, а просто -lvlc и т.д.
« Последнее редактирование: Май 06, 2013, 14:08 от alex312 » Записан
Lettuce
Гость
« Ответ #11 : Май 06, 2013, 18:47 »

ну теперь еще добавте
Код:
LIBS += -Lpath/to/vlc/libs

да, и , взможно надо добавлять не -llibvlc, а просто -lvlc и т.д.

Всё равно не получается, пишет что нет определения VlcInstance, может быть пройтись по шагам?

Итак, у меня есть VLC-Qt library 0.8.1, Qt5, библиотеки Qt4 и сам VLC плеер.
C помощью cmake GUI по инструкции собираем исходники в папку build.
Далее в этой папке делаем mingw32-make и получаем vlc-qt.dll и vlc-qt-widgets.dll. Скриншот прикреплён.

Полученные библиотеки и папку с хедерами vlc-qt кладём в папку с проектом. Но почему-то определения vlcinstance в библиотеке нет. В замешательстве
« Последнее редактирование: Май 06, 2013, 19:19 от Lettuce » Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #12 : Май 06, 2013, 19:29 »

Вот вам ссылка на готовые библиотеки, там есть пример, который нормально компилируется и работает (использовать *.pro файл)

...\qt-vlc\src\examples\demo-player\demo-player.pro

https://dl.dropboxusercontent.com/u/88492657/qt-vlc.7z
« Последнее редактирование: Май 06, 2013, 19:30 от alex312 » Записан
Lettuce
Гость
« Ответ #13 : Май 07, 2013, 12:30 »

Спасибо за помощь, проблема решается указанием абсолютных путей до папки библиотек и инклудов Веселый
Код:
QT       += core gui widgets

#greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = VLCProject
TEMPLATE = app

SOURCES += main.cpp\
        widget.cpp

HEADERS += widget.h

FORMS += widget.ui

LIBS += -lvlc-qt -lvlc-qt-widgets

INCLUDEPATH += C:/Users/Leo/Documents/Projects/VLCProject/vlc-qt
LIBS += -LC:/Users/Leo/Documents/Projects/VLCProject/vlc-qt

Кстати в libvlc-qt_0.8.1_mingw47_32_qt5 есть уже готовые библиотеки с хедерами Веселый
« Последнее редактирование: Май 07, 2013, 12:33 от Lettuce » Записан
nkment
Гость
« Ответ #14 : Ноябрь 20, 2013, 14:18 »

доброе время суток
Пытаюсь подключить библиотеку VLC
Сделал все по инструкции http://slow-tone.blogspot.ru/2011/04/qt-vlc-qt-1.html

Использую:
Qt 5.0.2 - qt-windows-opensource-5.0.2-mingw47_32-x86-offline http://download.qt-project.org/official_releases/qt/5.0/5.0.2/
CMake   -  cmake-2.8.12.1-win32-x86 http://www.cmake.org/cmake/resources/software.html
libvlc-qt_0.8.1_src.tar http://sourceforge.net/projects/vlc-qt/files/VLC-Qt/0.8.1/
vlc-2.0.5.tar http://sourceforge.net/projects/vlc/files/2.0.5/
vlc-2.1.1-win32 http://www.videolan.org/vlc/

Полученные библиотеки и папку с хедерами vlc-qt подключаю к проекту из примера
во время компиляции получаю сообщение   exited with code -1073741515
пробовал использовать готовые библиотеки libvlc-qt_0.8.1_mingw47_32_qt5_release
результат такой же.
Подскажите, как можно решить эту проблему
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.134 секунд. Запросов: 23.