LINUX.ORG.RU

Qt multimedia

 ,


0

1

Имеется Debian Wheezy и код небольшой программки написанной на Qt и оттестированная в винде.

Эта программа использует хедеры QAudioInput/QAudioOutput. А где их найти в линуксе?

http://stackoverflow.com/questions/5410170/why-am-i-missing-the-qt-multimedia... Вот схожая проблема, но, увы, без ответа

★★

Последнее исправление: Chubakur (всего исправлений: 1)

увы, без ответа

в смысле без ответа?

так аж 3 ответа.

$ eix dev-qt/qtmultimedia
* dev-qt/qtmultimedia
     Available versions:  
     (4)    4.8.5 [M](~)4.8.6[1] [M]**4.8.9999[1]
     (5)    (~)5.3.1[1] **5.3.9999[1] **5.4.9999[1] **5.9999[1]
       {(+)alsa aqua debug +exceptions +gstreamer openal +opengl pch pulseaudio qml test widgets ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Homepage:            https://qt-project.org/
     Description:         The Multimedia module for the Qt5 framework

[1] "qt" /var/lib/layman/qt

ищи где в дебиане qtmultimedia.

Stil ★★★★★
()
Последнее исправление: Stil (всего исправлений: 1)

QAudioInput/QAudioOutput

Это, ЕМНИП, Qt5. Ставь его себе в Debian и всё. Можно в /opt с официального сайта.

EXL ★★★★★
()
Ответ на: комментарий от Stil

Если смотреть по packages.debian.org, то пакет с похожим именем libqt4-multimedia был в Debian Squeeze, непонятно по какой причине его выпилили

Chubakur ★★
() автор топика
Ответ на: комментарий от Chubakur

libqt4-multimedia

да, похоже на то

был в Debian Squeeze, непонятно по какой причине его выпилили

у меня нет под рукой дебиана, ничего сказать не могу

// cast Mystra_x64

Stil ★★★★★
()
Последнее исправление: Stil (всего исправлений: 1)
Ответ на: комментарий от Chubakur

Тебе нужен пакет qtmultimedia-dev (но это только compile-time зависимость!)

apt-cache search qtmultimedia
...
qtmultimedia5-dev - APIs for multimedia functionality - development files
...

P.S. у меня:

cat /etc/debian_version 
jessie/sid

lsb_release -d
Description:    Ubuntu 14.04.1 LTS

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 1)
Ответ на: комментарий от Chubakur

название пакета скорее всего аналогичное: qtmultimedia*-dev

Кстати, еще один довод:

dpkg -S /usr/include/qt5/QtMultimedia/QAudioOutput
qtmultimedia5-dev: /usr/include/qt5/QtMultimedia/QAudioOutput

KennyMinigun ★★★★★
()
Ответ на: комментарий от KennyMinigun

А это я делал, заголовочные файлы нашлись в QtMultimediaKit/, однако в самих заголовочных файлах были ошибки в инклюдах

Chubakur ★★
() автор топика
Ответ на: комментарий от KennyMinigun

Это начало файла qaudiooutput.h


#include <qmobilityglobal.h>
#include <qtmedianamespace.h>

#include <qaudio.h>
#include <qaudioformat.h>
#include <qaudiodeviceinfo.h>

Все эти инклюды: No such file or directory

Chubakur ★★
() автор топика
Ответ на: комментарий от Chubakur

Как раз хотел посоветовать посмотреть INCLUDEPATH. Еще одно: нехорошо вот так напрямую писать /usr/include. Я просто уверен, что должна быть какая-нибудь кроссплаторменная переменная, которая содержит этот (/usr/include) путь (скажем какой-нибудь QT_BASE_INCLUDE_DIR).

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 1)
Ответ на: комментарий от KennyMinigun

Да, конечно, спасибо. Просто я теперь думаю стоит ли вообще это юзать, какому идиоту пришло в голову выпилить multimedia и запихнуть это в mobility(это ведь что-то для телефонов, да?)

Chubakur ★★
() автор топика
Ответ на: комментарий от KennyMinigun

Как раз хотел посоветовать посмотреть INCLUDEPATH. Еще одно: нехорошо вот так напрямую писать /usr/include. Я просто уверен, что должна быть какая-нибудь кроссплаторменная переменная, которая содержит этот (/usr/include) путь (скажем какой-нибудь QT_BASE_INCLUDE_DIR).

есть такое:

$ qmake -query
QT_INSTALL_PREFIX:/usr
QT_INSTALL_DATA:/usr/share/qt4
QT_INSTALL_DOCS:/usr/share/doc/qt-4.8.5
QT_INSTALL_HEADERS:/usr/include/qt4
QT_INSTALL_LIBS:/usr/lib64/qt4
QT_INSTALL_BINS:/usr/bin
QT_INSTALL_PLUGINS:/usr/lib64/qt4/plugins
QT_INSTALL_IMPORTS:/usr/lib64/qt4/imports
QT_INSTALL_TRANSLATIONS:/usr/share/qt4/translations
QT_INSTALL_CONFIGURATION:/etc/qt4
QT_INSTALL_EXAMPLES:/usr/share/qt4/examples
QT_INSTALL_DEMOS:/usr/share/qt4/demos
QMAKE_MKSPECS:/usr/share/qt4/mkspecs
QMAKE_VERSION:2.01a
QT_VERSION:4.8.5
$ /usr/lib64/qt5/bin/qmake -query
QT_SYSROOT:
QT_INSTALL_PREFIX:/usr
QT_INSTALL_ARCHDATA:/usr/lib64/qt5
QT_INSTALL_DATA:/usr/share/qt5
QT_INSTALL_DOCS:/usr/share/doc/qt-5.3.1
QT_INSTALL_HEADERS:/usr/include/qt5
QT_INSTALL_LIBS:/usr/lib64
QT_INSTALL_LIBEXECS:/usr/lib64/qt5/libexec
QT_INSTALL_BINS:/usr/lib64/qt5/bin
QT_INSTALL_TESTS:/usr/share/qt5/tests
QT_INSTALL_PLUGINS:/usr/lib64/qt5/plugins
QT_INSTALL_IMPORTS:/usr/lib64/qt5/imports
QT_INSTALL_QML:/usr/lib64/qt5/qml
QT_INSTALL_TRANSLATIONS:/usr/share/qt5/translations
QT_INSTALL_CONFIGURATION:/etc/xdg
QT_INSTALL_EXAMPLES:/usr/share/qt5/examples
QT_INSTALL_DEMOS:/usr/share/qt5/examples
QT_HOST_PREFIX:/usr
QT_HOST_DATA:/usr/lib64/qt5
QT_HOST_BINS:/usr/lib64/qt5/bin
QT_HOST_LIBS:/usr/lib64
QMAKE_SPEC:linux-g++
QMAKE_XSPEC:linux-g++
QMAKE_VERSION:3.0
QT_VERSION:5.3.1
Stil ★★★★★
()
Ответ на: комментарий от Chubakur
QT           -= multimedia

INCLUDEPATH += /usr/include/QtMultimediaKit
INCLUDEPATH += /usr/include/QtMobility

LIBS += -L/usr/lib/x86_64-linux-gnu/ -lQtMultimediaKit

Вот такие костыли. Без них никак. Лол.

EXL ★★★★★
()
Ответ на: комментарий от Stil

Ага, вот она:

qmake -qt=5 -query | grep /usr/include
QT_INSTALL_HEADERS:/usr/include/qt5

qmake -qt=4 -query | grep /usr/include
QT_INSTALL_HEADERS:/usr/include/qt4

Chubakur, используй переменную QT_INSTALL_HEADERS вместо /usr/include

KennyMinigun ★★★★★
()
Ответ на: комментарий от KennyMinigun

Stil

Ага. Вот только пакету qtmobility-dev чихать на это. Он вместо /usr/include/qt4 ставит в /usr/include. И либу называет libQtMultimediaKit вместо требуемой libQtMultimedia

EXL ★★★★★
()
Ответ на: комментарий от arcanis

Ты про что? Требуется пояснение.
Гибкость инструмента не отменяет безалаберную работу mainteiner'ов.

EXL ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.