Russian Qt Forum

Разное => Говорилка => Тема начата: WILY от Август 05, 2015, 17:40



Название: сборка QXMPP для qt 5
Отправлено: WILY от Август 05, 2015, 17:40
И снова с вами я - начинающий программист, с очередным вопросом

Собираю проект, подключил туда QXMPP и вот такая беда

Код:
 ошибка: QXmppDiscoveryIq.h: No such file or directory

Причем QXmppDiscoveryIq.h есть,и если я с ctrl + клик по ней, то переходит куда нужно.


Название: Re: сборка QXMPP для qt 5
Отправлено: Пантер от Август 05, 2015, 21:47
Слух, может, тебе проще заплатить, чтобы другой за тебя это сделал?


Название: Re: сборка QXMPP для qt 5
Отправлено: BuRn от Август 05, 2015, 22:41
Не мучайте себя и людей. Если вы не можете разобраться с ошибками подобного рода, то вам стоит поучить язык C++ сначала, мб и минимальный английский.


Название: Re: сборка QXMPP для qt 5
Отправлено: WILY от Август 06, 2015, 09:15
Спасибо, может быть действительно это лучше.

Я понимаю что это значит и как переводится, обычно это фиксилось чем-то типо добавлением в .про файл чего-то или указанием полного пути до файла, а вот тут нет.

P.S. Всем доброго утра =)


Название: Re: сборка QXMPP для qt 5
Отправлено: Bepec от Август 06, 2015, 09:29
Возможно не совпадают пути/каталоги в указаниях пути к файлу. В тех же h файлах.

PS коллеги несправедливы, на мой взгляд. Бывает компилятор приглючит, бывает креатор дурью мается. Сидишь и думаешь :)


Название: Re: сборка QXMPP для qt 5
Отправлено: WILY от Август 06, 2015, 09:42
ну от части они правы, я новичок, и видимо я пошел в раздел для новичков, там есть джаббер конференция, и если она актуальна, я лучше туда буду постить, нежели плодить кучу тем.

А перехожу я не потому что кто-то заставляет, а потому что сам хочу научится, а значит надо много делать и задавать вопросов (и я знаю что сначала в гугл). Всем кармы и добра)

(https://im1-tub-ru.yandex.net/i?id=a536d026b3e345271c4616d23309c69e&n=33&h=170)


Название: Re: сборка QXMPP для qt 5
Отправлено: Пантер от Август 06, 2015, 09:54
Блин, такой вежливый, что даже злиться не хочется. :) Ты лучше тогда свою тему в говорилке веди, дабы не засирать форум, а там, кто захочет, тот поможет. Топик сейчас перекину.


Название: Re: сборка QXMPP для qt 5
Отправлено: kuzulis от Август 06, 2015, 10:22
Да хватит уже черепах! Мы здесь не юные натуралисты - мы программисты! :)


Название: Re: сборка QXMPP для qt 5
Отправлено: WILY от Август 06, 2015, 10:54
Спасибо, вот в говорилке, я поговорю)))

Вроде помогло избавится от проблемы с "No such file or directory" прямым указанием папки "C:/myFolder/myFileName.myType". Мне кажется что это не комильфо, так как полный путь всегда может быть разный. Пробовал относительный"../myFolder/myFileName.myType" он на хочет.

Я добавился в джаббер конференцию, но она видимо уже мертва)



Название: Re: сборка QXMPP для qt 5
Отправлено: Пантер от Август 06, 2015, 11:39
Жабберная конфа моя, но, к сожалению, на работе прокси и джаббер не работает. :( Поменяю работу, тогда оживлю конфу.


Название: Re: сборка QXMPP для qt 5
Отправлено: Bepec от Август 06, 2015, 14:18
У вас типичная ошибка новичка - вместо информации по проекту, его настройкам вы выдаёте свои "перлы" и своё понимание ситуации. Как можно дать ответ на "вот оно не работает, я незнаю почему и больше ничего не скажу вам, противным"? :D


Название: Re: сборка QXMPP для qt 5
Отправлено: WILY от Август 10, 2015, 11:20
Резонное замечание, забыл что я не на шоу экстрасенсов, учту и более подробно буду описывать детали затруднений.

Вопрос с путями был улажен, действительно пути сборки отличались от необходимых, все поправил. Всем спасибо

Новая проблема, при переходе на qt5 изменилась работа по созданию плагинов, в моем случае это статические плагины.
Ошибка выглядит следующим образом

Код
C++ (Qt)
g++ -shared -Wl,-subsystem,windows -mthreads -Wl,--out-implib,..\bin\debug\libQXMPP.a -o ..\bin\debug\QXMPP.dll object_script.QXMPP.Debug  -LE:/_Gleb/QT_Creator_Last/5.5/mingw492_32/lib -lQt5Guid -lQt5Networkd -lQt5Xmld -lQt5Cored
./debug\QXmppServer.o: In function `ZN29Staticmod_discoPluginInstanceC1Ev':
E:\_Gleb\_HelpMeDev\QXMPP/../helpme/QXMPP/QXmppServer.cpp:42: undefined reference to `qt_static_plugin_mod_disco()'

./debug\QXmppServer.o: In function `ZN28Staticmod_pingPluginInstanceC1Ev':
E:\_Gleb\_HelpMeDev\QXMPP/../helpme/QXMPP/QXmppServer.cpp:43: undefined reference to `qt_static_plugin_mod_ping()'

./debug\QXmppServer.o: In function `ZN31Staticmod_proxy65PluginInstanceC1Ev':
E:\_Gleb\_HelpMeDev\QXMPP/../helpme/QXMPP/QXmppServer.cpp:44: undefined reference to `qt_static_plugin_mod_proxy65()'

./debug\QXmppServer.o: In function `ZN29Staticmod_statsPluginInstanceC1Ev':
Makefile.Debug:404: recipe for target '
..\bin\debug\QXMPP.dll' failed
E:\_Gleb\_HelpMeDev\QXMPP/../helpme/QXMPP/QXmppServer.cpp:45: undefined reference to `qt_static_plugin_mod_stats()'

./debug\QXmppServer.o: In function `ZN28Staticmod_timePluginInstanceC1Ev':
E:\_Gleb\_HelpMeDev\QXMPP/../helpme/QXMPP/QXmppServer.cpp:46: undefined reference to `qt_static_plugin_mod_time()'

./debug\QXmppServer.o: In function `ZN31Staticmod_versionPluginInstanceC1Ev':
E:\_Gleb\_HelpMeDev\QXMPP/../helpme/QXMPP/QXmppServer.cpp:47: undefined reference to `qt_static_plugin_mod_version()'

collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: Leaving directory 'E:/_Gleb/_HelpMeDev/QXMPP'
Makefile:34: recipe for target 'debug' failed
mingw32-make[1]: Leaving directory 'E:/_Gleb/_HelpMeDev/QXMPP'
makefile:93: recipe for target 'sub-QXMPP-make_first' failed
mingw32-make[2]: *** [..\bin\debug\QXMPP.dll] Error 1
mingw32-make[1]: *** [debug] Error 2
mingw32-make: *** [sub-QXMPP-make_first] Error 2
11:18:45: Процесс «E:\_Gleb\QT_Creator_Last\Tools\mingw492_32\bin\mingw32-make.exe» завершился с кодом 2.
Ошибка при сборке/установке проекта Main (комплект: Desktop Qt 5.5.0 MinGW 32bit)
Во время выполнения этапа «Сборка»
11:18:45: Прошло времени: 00:07.

в .про файле объявление выглядит так:

Код
C++ (Qt)
# Plugins
DEFINES += QT_STATICPLUGIN
HEADERS += \
   server/mod_disco.h \
   server/mod_ping.h \
   server/mod_proxy65.h \
   server/mod_stats.h \
   server/mod_time.h \
   server/mod_version.h
SOURCES += \
   server/mod_disco.cpp \
   server/mod_ping.cpp \
   server/mod_proxy65.cpp \
   server/mod_stats.cpp \
   server/mod_time.cpp \
   server/mod_version.cpp
 
DEFINE = QXMPP_NO_GUI
 

Объявляется плагин так

Код
C++ (Qt)
// PLUGIN
 
class QXmppServerDiscoveryPlugin : public QXmppServerPlugin
{
public:
   QXmppServerExtension *create(const QString &key)
   {
       if (key == QLatin1String("ping"))
           return new QXmppServerDiscovery;
       else
           return 0;
   };
 
   QStringList keys() const
   {
       return QStringList() << QLatin1String("ping");
   };
 
 
};
Q_EXPORT_STATIC_PLUGIN2(mod_disco, QXmppServerDiscoveryPlugin)
 

Может кто-то уже работал с плагинами в 5й весии?