Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Я достаточно давно программирую на C++ под Windows, но тут впервые решил попробовать сделать проект на кросплатформенном фреймворке QT с использованием библиотеки VLC. Я скачал и установил QT 5.2.1, для написания кода использую QT Creator. Для сборки использую MinGW (кстати кто бы мне объяснил какая разница что использовать и как вообще так получилось что у меня такой широкий выбор чем собирать - раньше с подобным не сталкивался). Далее скачал VLC 2.1.3 (бинари для Win8 х64) и кинул в папку C:/QT/vlc/vlc-2.1.3. Мои проекты лежат в C:/QT/Projects. Теперь всё готово для первого запуска, создал проект Widget, проверил его работоспособность и начал подключать VLC. В .pro файл прописал следующее: Код: plaintext 1. 2. 3. в mainwindow.cpp добавил: Код: plaintext 1. и в конструкторе окна для теста написал: Код: plaintext 1. 2. 3. 4. На попытку сборки компилятор мне выдал: Код: plaintext 1. 2. 3. Долго мучал гугл, пытался сам понять в чём проблема, подпихивал DLL-ки в разные папки проекта и сборок - никакого результата. (Даже пробовал добавить библиотеку через меню редактора) Чего я не понимаю, как правильно подключить VLC библиотеку в QT? Подскажите, пожалуйста! (и если можно, то ещё про выбор компилятора для сборки поясните) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 19:42 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
HellFighterЯ достаточно давно программирую на C++ под Windows, но тут впервые решил попробовать сделать проект на кросплатформенном фреймворке QT с использованием библиотеки VLC.Как говорить на китайском языке используя немецкий? Сумеешь ответить на этот вопрос - мы тебе ответим как писать в Qt c VLC. HellFighterЯ скачал и установил QT 5.2.1, для написания кода использую QT Creator. Для сборки использую MinGW (кстати кто бы мне объяснил какая разница что использовать и как вообще так получилось что у меня такой широкий выбор чем собирать - раньше с подобным не сталкивался).Добро пожаловать в реальный мир. Каждый кто хочет и может создает свой собственный компилятор, а несчастные программисты вынуждены выбирать что им использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 20:22 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
White Owl, авторКак говорить на китайском языке используя немецкий? Сумеешь ответить на этот вопрос - мы тебе ответим как писать в Qt c VLC. Вы VLC c VCL не путаете? Я пытаюсь подключить библиотеку воспроизведения видео, а не прикручиваю графический фреймворк VCL к QT. Иначе я просто не понимаю суть комментария. авторДобро пожаловать в реальный мир. Каждый кто хочет и может создает свой собственный компилятор, а несчастные программисты вынуждены выбирать что им использовать. Это понятно, просто какая разница какой из них использовать если по сути все должны поддерживать один и тот же стандарт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 20:57 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
HellFighterЭто понятно, просто какая разница какой из них использовать если по сути все должны поддерживать один и тот же стандарт?Наличие стандарта на язык никак не способствует появлению стандарта на инструментарий сборки. Даже заголовочные файлы могут различаться. И от компилятора к компилятору и от платформы к платформе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:00 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Так чем мне это всё выливается как конечному пользователю компилятора? Какая например разница между выбором MSVC или MinGW для сборки проекта QT? Или это важно только при использовании фич конкретного компилятора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:02 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
HellFighterКакая например разница между выбором MSVC или MinGW для сборки проекта QT?В случае MSVC надо явно указывать все используемые библиотеки, за исключением, грубо говоря, kernel32. В случае MinGW, вероятно, тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:08 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovHellFighterКакая например разница между выбором MSVC или MinGW для сборки проекта QT?В случае MSVC надо явно указывать все используемые библиотеки, за исключением, грубо говоря, kernel32. В случае MinGW, вероятно, тоже. Ну вобщем видимо разницы мало, по крайней мере я пока не вижу :) Ладно, на самом деле ещё остаётся основной вопрос: что я не так делаю, что не подключается VLC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:27 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Попробуйте LIBS += -lvlc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:29 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
HellFighterЛадно, на самом деле ещё остаётся основной вопрос: что я не так делаю, что не подключается VLC? ЕМНИП, .lib-файлы -- это MSVC-шные static либы. У MinGW эти либы имеюи расширение .a. Не уверен, что формат у них разный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:35 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
GCC не дурак, он может прямо DLL-ки линковать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:39 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovGCC не дурак, он может прямо DLL-ки линковать. GCC, да, so линкует. А вот как под виндой это работает в MinGW -- не совсем уверен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:41 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovGCC не дурак, он может прямо DLL-ки линковатьПредлагаете руками расписать все экспорты, с учётом префиксов и суффиксов? Или создатели GCC поддерживают собственную версию MS SDK? Или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 21:43 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПредлагаете руками расписать все экспорты, с учётом префиксов и суффиксов? Или создатели GCC поддерживают собственную версию MS SDK? Или что? Win32 API имеет в большинстве своём соглашение stdcall и C-linkage, то есть имена экспортируемых функций не декорируются. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 22:07 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovWin32 API имеет в большинстве своём соглашение stdcall и C-linkage, то есть имена экспортируемых функций не декорируютсяСуффиксов W и A это не отменяет. Мелочь, но всё-таки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 22:11 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovСуффиксов W и A это не отменяет. Мелочь, но всё-таки. Эти суффиксы и в MSVC разводятся макросами, так что к линковке никакого отношения не имеют. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 22:15 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
HellFighterВ .pro файл прописал следующее: Код: plaintext 1. Видно, что писал и не понимал, что пишешь. (Подсказка: -Lпуть к библиотекам, -lимя библиотеки) Попробуй что-нибудь типа: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 22:18 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
nyash-myashHellFighterВ .pro файл прописал следующее: Код: plaintext 1. Видно, что писал и не понимал, что пишешь. (Подсказка: -Lпуть к библиотекам, -lимя библиотеки) Попробуй что-нибудь типа: Код: plaintext 1. Ну не особо понимал, да. Говорю же, второй день на QT. Ну в общем то не помогло, попробовал. NekZЕМНИП, .lib-файлы -- это MSVC-шные static либы. У MinGW эти либы имеюи расширение .a. Не уверен, что формат у них разный. Ну так и как дальше быть? .so и .a это юниксовые библиотеки на сколько я помню, в винде вроде как не поддерживаются. Ну и VLC для винды собственно распространяется с .lib. Получается тут я как раз и подошёл к месту где имеет значение какой компилятор использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 22:25 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭти суффиксы и в MSVC разводятся макросами, так что к линковке никакого отношения не имеютЗато имеют - к собственной версии включаемых заголовков. MS SDK "корёжит", например, ChangeDisplaySettings до __imp_ChangeDisplaySettingsA. Опять-таки, выглядит вполне регулярно, но в процессе разборок с LNK2001 я заметил функции, имена которых "не корёжатся". Т.е. некоторое "здесь играем, здесь не играем, здесь рыбу заворачивали" - намечается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 22:28 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
NekZПопробуйте LIBS += -lvlc nyash-myashПопробуй что-нибудь типа: LIBS += -llibvlc -LC:/QT/vlc/vlc-2.1.3 А вот совместив и написав Код: plaintext 1. Появилось другое сообщение об ошибке: Код: plaintext 1. Похоже теперь файл обнаруживается и как раз происходит конфликт компилятора с библиотекой созданной другим компилятором (если я правильно понял) Каким образом по -lvlc QT понял что нужно подтягивать libvlc.dll ? о_О Ну а этот конфликт решается как, переходом к компилятору MSVC? (тут у меня вообще смешной косяк - после переключения говорит что нет файла <vlc/vlc.h>, хотя настройки проекта я не менял) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 22:39 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Не надо ничего совмещать. У меня есть проект qt+vlc. Сейчас я его собираю как qt4.8.5+msvc2010, но начальный вариант был qt5.2.0+mingw4.8 и он по прежнему собирается и работает. Собирается с libvlc.lib который идет в комплекте с vlc. Как раз для msvc2010 у меня используются самопальные lib и def файлы. Если мне не изменяет память, с родным lib файлом приложение просто падало при вызове vlc функций. Ты пробовал абсолютные пути прописывать? Может я поленился переделать пути в относительные, а может с ними у меня не работало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 23:02 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
nyash-myashНе надо ничего совмещать. У меня есть проект qt+vlc. Сейчас я его собираю как qt4.8.5+msvc2010, но начальный вариант был qt5.2.0+mingw4.8 и он по прежнему собирается и работает. Собирается с libvlc.lib который идет в комплекте с vlc. Как раз для msvc2010 у меня используются самопальные lib и def файлы. Если мне не изменяет память, с родным lib файлом приложение просто падало при вызове vlc функций. Ты пробовал абсолютные пути прописывать? Может я поленился переделать пути в относительные, а может с ними у меня не работало. Пробовал: Код: plaintext 1. 2. Результат всё тот же Код: plaintext 1. Не понимаю, всё начисто поставлено только что, всё свежее... Если у Вас работает, то что же я могу не так делать? о_О ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 23:54 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
HellFighterЕсли у Вас работает, то что же я могу не так делать? Что-то ты не туда пихаешь и он пытается распознать DLL как что-то другое. Или эта DLL, что ты ему подсовываешь, кривая/битая. Полную строку компиляции/линковки показывай. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 00:00 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 00:09 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
HellFighterC:/QT/vlc/vlc-2.1.3/libvlc.dll: filenot recognized: File formatnot recognized Загляни в этот файл и убедись, что это DLL, а не мусор какой-нибудь. В комплекте MinGW, кажется, objdump позволяет посмотреть таблицы экспорта и фообще формат библиотеки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 00:23 |
|
||
|
Помогите завести VLC на QT
|
|||
|---|---|---|---|
|
#18+
pro файл для демо плеера на котором я тренировался у меня выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Хватит линковщику пихать dll, ему нужен libvlc.lib Кстати в vlc есть много веселого, например: 1. libvlc_media_new_path отказывается открывать файлы в пути к которым есть прямой слеш(/). 2. Документация, которую писал капитан очевидность. Например: libvlc_video_set_mouse_input(player, 0) - отключает перехват событий мыши. Это капитан написал, а вот информация, что под Windows оно не работает если не вызвать libvlc_video_set_key_input(player, 0) есть только в посте на форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2014, 00:25 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38638083&tid=2019476]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 185ms |

| 0 / 0 |
