Название: undefined reference to `WinMain@16 Отправлено: slava_d200 от Ноябрь 09, 2012, 16:15 как побароть, что этому QT еще надо.
есть плагин для QCreator. какой там нафиг mail должен быть. притом, это сообщение вываливается что я создаю свой плагин, что беру демку. везде одно и тоже вернее это новерно не QT надо а MinGW Название: Re: undefined reference to `WinMain@16 Отправлено: GreatSnake от Ноябрь 09, 2012, 16:31 какой там нафиг mail должен быть. mail? да уж рассмешил) Это вообще-то Name mangling (http://en.wikipedia.org/wiki/Name_mangling).Как-то не так собираешь, ибо в плагинах не должно быть WinMain-a. Название: Re: undefined reference to `WinMain@16 Отправлено: slava_d200 от Ноябрь 09, 2012, 16:34 сорри ну конечно main (опечатка)
а что не правильно. установить MinGW (взял с сайта) установить QtCreator установил Qt 4.8.3 прописал пути как в системе там и в креаторе. C:/Qt/MinGW/bin/mingw32-make -f Makefile.Release mingw32-make[1]: Entering directory `D:/55555/qt-widgets-article/widget-plugin' g++ -Wl,-s -o c:\Qt\4.8.3\plugins\designer\libwidget-plugin.a release/customspin.o release/customspinplugin.o release/moc_customspin.o release/moc_customspinplugin.o -L".\lib" -L"c:\Qt\4.8.3\lib" -lQtXml4 -lQtGui4 -lQtCore4 -lQtDesigner4 mingw32-make[1]: Leaving directory `D:/55555/qt-widgets-article/widget-plugin' c:/qt/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../libmingw32.a(main.o): In function `main': C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to `WinMain@16' collect2: ld returned 1 exit status mingw32-make[1]: *** [c:\Qt\4.8.3\plugins\designer\libwidget-plugin.a] Error 1 mingw32-make: *** [release] Error 2 17:39:51: Процесс «C:\Qt\MinGW\bin\mingw32-make.exe» завершился с кодом 2. Название: Re: undefined reference to `WinMain@16 Отправлено: GreatSnake от Ноябрь 09, 2012, 18:37 Судя по опциям линковки идёт сборка обычного exe-шника, только названного почему-то 'libwidget-plugin.a'.
При создании проекта был выбран 'Other Qt Project/Qt Creator Plugin'? Название: Re: undefined reference to `WinMain@16 Отправлено: kuzulis от Ноябрь 09, 2012, 21:41 Это баг Qt4.8.3 MinGW-шной сборки.
Добавь в \4.8.3\mkspecs\win32-g++\qmake.conf это (красненьким) Цитировать CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header dll Также в тот же qmake.conf нужно добавить (красненьким): Цитировать QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe Иначе ГУЙ с ресурсами не будет билдиться. QMAKE_RCC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}rcc.exe QMAKE_IDL = midl Название: Re: undefined reference to `WinMain@16 Отправлено: slava_d200 от Ноябрь 10, 2012, 09:39 Судя по опциям линковки идёт сборка обычного exe-шника, только названного почему-то 'libwidget-plugin.a'. При создании проекта был выбран 'Other Qt Project/Qt Creator Plugin'? прошу прощения, а разве для QtCreatorа - эта опция не подходит 'Other Qt Project/Qt Creator Plugin' или надо другой вид проекта выбирать. ? было какое то время что все было нормально, и плагин создавался, и я его мог использовать, а теперь и не плагин не создается нормально, и программа в которой данный плагин используется ругается на класс плагина. Название: Re: undefined reference to `WinMain@16 Отправлено: slava_d200 от Ноябрь 10, 2012, 10:32 воспользовался советом: kuzulis
все замечательно теперь плагин формируется. но не ушла ошибка на ругательство накласс. в QtCreatore плагин видится, но программа не хочет компилироватся ругается на класс плагина, такое ощущение что он его не находит хотя вроде все пути прописаны и файлики подложены. 11:32:06: Выполняются этапы для проекта widget-plugin-usage... 11:32:06: Настройки не изменились, этап qmake пропускается. 11:32:06: Запускается: «C:\MinGW\bin\mingw32-make.exe» C:/MinGW/bin/mingw32-make -f Makefile.Release mingw32-make[1]: Entering directory `D:/55555/qt-widgets-article/widget-plugin-usage-build-Qt_4_8_3_в_PATH_4_8_3-__________________________' g++ -Wl,-s -Wl,-subsystem,windows -Wl,--out-implib,release\libwidget-plugin-usage.a -o release\widget-plugin-usage.exe release/main.o release/mainwindow.o release/moc_mainwindow.o -L".\lib" -L"c:\Qt\4.8.3\lib" -lmingw32 -lqtmain -LC:\Qt\4.8.3\plugins/designer -lwidget-plugin -lQtGui4 -lQtCore4 mingw32-make[1]: Leaving directory `D:/55555/qt-widgets-article/widget-plugin-usage-build-Qt_4_8_3_в_PATH_4_8_3-__________________________' release/mainwindow.o:mainwindow.cpp:(.text+0x14d): undefined reference to `CustomSpin::CustomSpin(QWidget*)' collect2: ld returned 1 exit status mingw32-make[1]: *** [release\widget-plugin-usage.exe] Error 1 mingw32-make: *** [release] Error 2 11:32:06: Процесс «C:\MinGW\bin\mingw32-make.exe» завершился с кодом 2. Возникла ошибка при сборке/установке проекта widget-plugin-usage (цель: Qt 4.8.3 в PATH (4.8.3)) Во время выполнения этапа «Сборка» Название: Re: undefined reference to `WinMain@16 Отправлено: CanSee от Ноябрь 18, 2012, 19:34 Это баг Qt4.8.3 MinGW-шной сборки. У меня точно такая же проблема была, правда не при сборке модуля для Qt Creator, а при сборке обычной DLL. Тоже победилась выполнением этого совета. Большое спасибо, kuzulis! :)Добавь в \4.8.3\mkspecs\win32-g++\qmake.conf это (...) |