Название: Ошибки при подключении X11/Xlib и X11/Xutil Отправлено: DpoHro от Апрель 26, 2010, 14:44 Пытаюсь воспользоваться ф-ми для манипуляции окнами, для чего в своем приложении подключаю
Код: #ifdef Q_WS_X11 Если подключать до инклудов Qt то вываливается толпа ошибок. Если после то всего одна на много где: expected unqualified-id before 'int' Но в тех строках куда указывает компилятор об int-е нет и упоминания: Код: m_rpcControlServer->registerMethod( "managementMemberScreen", QVariant::Bool, QVariant::String); Это ф-ции библиотеки xmlrpc, но мне кажется не в них дело. Есть у кого предположения как решить данную проблему? Кстати, если в main.cpp подключить то, проект собирается. Название: Re: Ошибки при подключении X11/Xlib и X11/Xutil Отправлено: crossly от Апрель 26, 2010, 15:04 вынеси код работы с Х в отдельный файл.... а еще лучше в отдельный неймспейс
Название: Re: Ошибки при подключении X11/Xlib и X11/Xutil Отправлено: Rcus от Апрель 26, 2010, 15:27 Ну так все нормально, int есть. Надо смотреть не исходники, а результат работы препроцессора. С учетом макроса #define Bool int в Xlib.h все сходится.
Название: Re: Ошибки при подключении X11/Xlib и X11/Xutil Отправлено: Alex Custov от Апрель 26, 2010, 18:19 Проблема в том, что разработчики X API решили, что они очень умные. Теперь в больших проектах, где используется много библиотек (особенно Qt), можно получить проблемы сборки. Самое простое решение - подключать X заголовки самыми последними. Если подключишь раньше Qt-шных, могут быть проблемы с define-aми Bool, Cursor, и др.
В KDE был даже когда-то файл, исправляющий использование некоторых символов, назывался он fixx11h.h Название: Re: Ошибки при подключении X11/Xlib и X11/Xutil Отправлено: DpoHro от Апрель 27, 2010, 07:55 вынеси код работы с Х в отдельный файл.... а еще лучше в отдельный неймспейс В отдельный класс выносил, эффект ровно такой же. Про неймспейс... Это как это? Примерчик есть?Цитировать Ну так все нормально, int есть. Надо смотреть не исходники, а результат работы препроцессора. С учетом макроса #define Bool int в Xlib.h все сходится. Я в сети видел какой то способ переопределения чтоли Int-а в контексте данной проблемы... Но для своих нужд как то так и не приспособил, возможно чегото недогоняю ((Цитировать Самое простое решение - подключать X заголовки самыми последними. Если подключишь раньше Qt-шных, могут быть проблемы с define-aми Bool, Cursor, и др. Я после подключаю, вот одна эта ошибка появляется в этом случае, если до, то там такое вываливается .... даж читать не хочется ))Так и не могу разобраться с проблемой (( Стало казаться, что проблема только в ф-ции библиотеки xmlrpc. Вот ее объявление: Код: void registerMethod( QString methodName, QVariant::Type returnType, QVariant::Type parameter1Type ); Название: Re: Ошибки при подключении X11/Xlib и X11/Xutil Отправлено: Alex Custov от Апрель 28, 2010, 01:18 проблема в том, что "Bool" - это define в X API. Т.е. QVariant::Bool после процедуры препроцессинга превращаяется в QVariant::int. Попробуй включить fixx11h.h после X-овых заголовков.
Название: Re: Ошибки при подключении X11/Xlib и X11/Xutil Отправлено: DpoHro от Июнь 01, 2010, 08:06 Спасибо! fixxx действительно решил проблему!
|