Russian Qt Forum
Ноябрь 21, 2024, 20:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]помогите разобраться с ошибками(их 3)(XML)  (Прочитано 6776 раз)
Noize_programmer
Чайник
*
Offline Offline

Сообщений: 91


работает не трогай


Просмотр профиля WWW
« : Май 17, 2023, 16:43 »

C:\Users\qt\work\qt\qtbase\src\winmain\qtmain_win.cpp:97: ошибка: undefined reference to `qMain(int, char**)'
F:\Qt5.14\5.12.12\mingw73_64\lib\libqtmaind.a(qtmain_win.o): In function `WinMain':
C:\Users\qt\work\qt\qtbase\src\winmain/qtmain_win.cpp:97: undefined reference to `qMain(int, char**)'

:-1: ошибка: collect2.exe: error: ld returned 1 exit status

:-1: ошибка: [Makefile.Debug:65: XmlDomRead.exe] Error 1


отладка не запускается

вывод сборки:

16:39:00: Выполняются этапы для проекта XML1...
16:39:00: Настройки не изменились, этап qmake пропускается.
16:39:00: Запускается: «F:\Qt5.14\Tools\mingw730_64\bin\mingw32-make.exe» -j6
F:/Qt5.14/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'F:/projects/Qt_project/5.0.2/lesons/Book/XML/1/build-XML1-Desktop_Qt_5_12_12_MinGW_64_bit-Debug'
g++ -Wl,-subsystem,windows -mthreads -o .\XmlDomRead.exe debug/main.o  F:\Qt5.14\5.12.12\mingw73_64\lib\libQt5Widgetsd.a F:\Qt5.14\5.12.12\mingw73_64\lib\libQt5Guid.a F:\Qt5.14\5.12.12\mingw73_64\lib\libQt5Xmld.a F:\Qt5.14\5.12.12\mingw73_64\lib\libQt5Cored.a  -lmingw32 F:\Qt5.14\5.12.12\mingw73_64\lib\libqtmaind.a -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.6.11-winx64\lib -LC:\Utils\postgresql\pgsql\lib -lshell32
F:\Qt5.14\5.12.12\mingw73_64\lib\libqtmaind.a(qtmain_win.o): In function `WinMain':
C:\Users\qt\work\qt\qtbase\src\winmain/qtmain_win.cpp:97: undefined reference to `qMain(int, char**)'
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Makefile.Debug:65: XmlDomRead.exe] Error 1
mingw32-make[1]: Leaving directory 'F:/projects/Qt_project/5.0.2/lesons/Book/XML/1/build-XML1-Desktop_Qt_5_12_12_MinGW_64_bit-Debug'
mingw32-make: *** [Makefile:38: debug] Error 2
16:39:01: Процесс «F:\Qt5.14\Tools\mingw730_64\bin\mingw32-make.exe» завершился с кодом 2.
Ошибка при сборке/развёртывании проекта XML1 (комплект: Desktop Qt 5.12.12 MinGW 64-bit)
Во время выполнения этапа «Сборка»
16:39:01: Прошло времени: 00:01.

помогите пожалуйста(с XML работаю первый раз)
« Последнее редактирование: Май 20, 2023, 12:56 от Noize_programmer » Записан

Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #1 : Май 17, 2023, 19:49 »

У вас всё нормально. Проект собирается и запускается. И файл addressbook.xml успешно создаётся и заполняется.
Проверял в gentoo. Qt 5.15.9 gcc 12.2.1
Подозреваю, что проблема в MinGW (за ним подобные штуки наблюдаю периодически). Проверить не могу (точнее могу, но уже завтра и в винде)
Записан

PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #2 : Май 18, 2023, 05:06 »

В Windows я думаю в main нужно обязательно передавать аргументы:

Код:
int main(int argc, char *argv[])

С ними проект будет собираться. Работу не проверял.
Записан
Noize_programmer
Чайник
*
Offline Offline

Сообщений: 91


работает не трогай


Просмотр профиля WWW
« Ответ #3 : Май 18, 2023, 20:47 »

У вас всё нормально. Проект собирается и запускается. И файл addressbook.xml успешно создаётся и заполняется.
Проверял в gentoo. Qt 5.15.9 gcc 12.2.1
Подозреваю, что проблема в MinGW (за ним подобные штуки наблюдаю периодически). Проверить не могу (точнее могу, но уже завтра и в винде)
спасибо за ответ

В Windows я думаю в main нужно обязательно передавать аргументы:

Код:
int main(int argc, char *argv[])

С ними проект будет собираться. Работу не проверял.

спасибо, всё заработало, сам бы никогда не догадался
просто занимаюсь по книге  от Макса Шлее
и в этом коде этих аргументов нет
« Последнее редактирование: Май 18, 2023, 20:52 от Noize_programmer » Записан

Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #4 : Май 18, 2023, 21:47 »

Немного дополню, как обещал:
Проверил варианты в винде 8.1
Если использовать комплект сборки от MSVC2019 64bit - всё соберётся без всякой ругани
Если использовать MinGW - ошибки будут, как описаны в теме. Однако, если в параметры функции main добавить стандартное int argc, char *argv[] - всё соберётся и там.
Итог: как и подозревал, проблема в MinGW. Хотя параметры функции main не обязательны, обязателен лишь код возврата.
Записан

Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Май 19, 2023, 01:27 »

Итог: как и подозревал, проблема в MinGW

никогда такого не было и вот опять!
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #6 : Май 19, 2023, 02:09 »

Скорее всего эти ошибки связаны с Qt. Если не использовать #include <QApplication>, то проект будет собираться и без аргументов в main.
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #7 : Май 19, 2023, 19:41 »

Скорее всего эти ошибки связаны с Qt. Если не использовать #include <QApplication>, то проект будет собираться и без аргументов в main.
Ну в другом проекте будут ошибки, какая разница? #include <QApplication> используется часто.
Записан

Noize_programmer
Чайник
*
Offline Offline

Сообщений: 91


работает не трогай


Просмотр профиля WWW
« Ответ #8 : Май 20, 2023, 12:58 »

Немного дополню, как обещал:
Проверил варианты в винде 8.1
Если использовать комплект сборки от MSVC2019 64bit - всё соберётся без всякой ругани
Если использовать MinGW - ошибки будут, как описаны в теме. Однако, если в параметры функции main добавить стандартное int argc, char *argv[] - всё соберётся и там.
Итог: как и подозревал, проблема в MinGW. Хотя параметры функции main не обязательны, обязателен лишь код возврата.

спасибо за доп. информацию
Записан

Официальная стандартизация языка с++ началась в 1998 году, когда был опубликован стандарт языка ISO/IEC 14882:1998(известный как C++98), разработанный комитетом по стандартизации C++(ISO/IEC JTC1/SC22/WG21 working group)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.105 секунд. Запросов: 23.