LINUX.ORG.RU

QT4, Xlib.h - все ломается


0

0

Захотелось попробовать связку Qt4 + libxine, для чего собственно нужны хидеры из X11, Xlib.h в том числе..
Если добавить в мой файл(например xinewidget.h) строку #include <X11/Xlib.h> и сделать make, то начинается масса проблем и на консоль валиццо такое:
/usr/bin/uic qt.ui -o ui_qt.h
Warning: name widget is already used
g++ -c -pipe -O2 -march=pentium4 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp
In file included from /usr/include/qt4/QtCore/qdebug.h:32,
from /usr/include/qt4/QtCore/QtCore:2,
from /usr/include/qt4/QtGui/QtGui:1,
from main.cpp:3:
/usr/include/qt4/QtCore/qtextstream.h:40:2: error: #error qtextstream.h must be included before any header file that defines Status
/usr/include/qt4/QtCore/qtextstream.h:67: ошибка: expected identifier before 'int'
/usr/include/qt4/QtCore/qtextstream.h:67: ошибка: expected unqualified-id before '{' token
/usr/include/qt4/QtCore/qdir.h:85: ошибка: expected identifier before numeric constant

Как можно лечить? Гугль не сильно помогает.


Не нужен тебе xlib для связки xine с qt4. У QWidget есть winId (), который возвращает id окна widgetа.

krum
()
Ответ на: комментарий от home_user

У меня оно вообще не где не инклудится..
Я пробовал его инкладить до #include <X11/Xlib.h> и после.. Эфекта 0, впринципе. Разве что эта надпись исчезнет.

Если сделать #include <QDir> возникнет проблема в другом .h файле.
Как заинклудил с 10к файлов решил прекратить этим заниматься.

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

Исходника как такого нет:
пара из .cpp/.h файлов. В .h определен класс с 2мя методами: конструктором и деструктором. В .cpp эти методы реализованы(пустыми).

Так-же в .h файле есть #include <QWdiget>. Если сделать #include <X11/Xlib.h>, то становится плохо..

Ну, да, есть еще набросаный в Qt Designer интерфейс из двух кнопкой и QWdiget "продвинутого" до моего XineWidget..

Если такие исходники все же нужны, то пишите - выложу на рапидшару.

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

хм. Похоже, что это что-то не совсем то :(

При запуске ловлю такие весчи:
received X error event: BadWindow (invalid Window parameter)

Заполняю xine_data вот так.. + туда засовые колбэки.
xine_data.d = this->winId();
xine_data.display = QX11Info::display();
xine_data.screen = QX11Info::appScreen();

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

Кста, там гомора будет много, тк тебе нужно отключить qt-шное рисование этого окна, и ещё несколько проблем. Посмотри как сделан KMplayer.

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