Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Lettuce от Май 06, 2013, 11:58



Название: Проблема с подключением vlc-qt к проекту
Отправлено: 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();

Что я делаю не так?


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: alex312 от Май 06, 2013, 12:07
http://en.wikipedia.org/wiki/Name_mangling


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: Lettuce от Май 06, 2013, 12:20
Всё равно не понял как решить проблему :'(


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: KrupaKarlo от Май 06, 2013, 12:32
Предложу самое просто решение  но для windows  ::) когда мне надо было подрубить VLC. Я просто взял тупо поставил VLC на комп. Он ставит ActiveX компонент. Ставишь  ActiveX компонент на форму и работает


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: Lettuce от Май 06, 2013, 12:37
Предложу самое просто решение  но для windows  ::) когда мне надо было подрубить VLC. Я просто взял тупо поставил VLC на комп. Он ставит ActiveX компонент. Ставишь  ActiveX компонент на форму и работает

Не вариант, мне надо поднять видео-сервер для вещания с компа, и хотелось бы сделать это через qt-обёртку.


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: KrupaKarlo от Май 06, 2013, 12:41
да не в тему  :)


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: alex312 от Май 06, 2013, 12:47
Всё равно не понял как решить проблему :'(
Каким компилятором скомпилированы, используемые вами, библиотеки ?


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: Lettuce от Май 06, 2013, 13:14
Каким компилятором скомпилированы, используемые вами, библиотеки ?

Компилятор MinGW 4.7 32х битный, входит в состав Qt5. Делал по инструкции (http://slow-tone.blogspot.ru/2011/04/qt-vlc-qt-1.html).


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: alex312 от Май 06, 2013, 13:23
Внимательно подключайте библиотеки
http://qt-project.org/doc/qt-4.8/qmake-project-files.html#declaring-other-libraries


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: Lettuce от Май 06, 2013, 13:39
Сделал всё как написано:
Код:
LIBS += -llibvlc -llibvlc-qt -llibvlccore

в ответ получил:
Код:
:-1: ошибка: cannot find -llibvlc
:-1: ошибка: cannot find -llibvlc-qt


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: alex312 от Май 06, 2013, 14:06
 ну теперь еще добавте
Код:
LIBS += -Lpath/to/vlc/libs

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


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: Lettuce от Май 06, 2013, 18:47
ну теперь еще добавте
Код:
LIBS += -Lpath/to/vlc/libs

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

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

Итак, у меня есть VLC-Qt library 0.8.1 (http://qt-apps.org/content/show.php/?content=133649), Qt5, библиотеки Qt4 и сам VLC плеер.
C помощью cmake GUI по инструкции  (http://slow-tone.blogspot.ru/2011/04/qt-vlc-qt-1.html)собираем исходники в папку build.
Далее в этой папке делаем mingw32-make и получаем vlc-qt.dll и vlc-qt-widgets.dll. Скриншот прикреплён.

Полученные библиотеки и папку с хедерами vlc-qt кладём в папку с проектом. Но почему-то определения vlcinstance в библиотеке нет. :-\


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: alex312 от Май 06, 2013, 19:29
Вот вам ссылка на готовые библиотеки, там есть пример, который нормально компилируется и работает (использовать *.pro файл)

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

https://dl.dropboxusercontent.com/u/88492657/qt-vlc.7z


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: Lettuce от Май 07, 2013, 12:30
Спасибо за помощь, проблема решается указанием абсолютных путей до папки библиотек и инклудов :D
Код:
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 (http://sourceforge.net/projects/vlc-qt/files/VLC-Qt/0.8.1/) есть уже готовые библиотеки с хедерами :D


Название: Re: Проблема с подключением vlc-qt к проекту
Отправлено: nkment от Ноябрь 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
результат такой же.
Подскажите, как можно решить эту проблему