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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Не могу собрать свое приложение под виндой с mingw  (Прочитано 6725 раз)
titan83
Гость
« : Май 06, 2017, 11:49 »

Коллеги, здравствуйте.
Собирал всегда под линкусом, тут надо стало собрать под windows (win 7x64).
Скачал версию с mingw, установил. Просты приложения собираются, но мое - нет.
У меня там подключается довольно большая библиотека (hpp ~1,3M), и как результат я имею такую ошибку:
Код:
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=gnu++11 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\qWorksheet -I. -I..\qWorksheet\src\3rdparty\qsint\include -I..\qWorksheet\src\login -I..\qWorksheet\src\browser -I..\qWorksheet\src\worksheet -I..\qWorksheet\src\database -I..\qWorksheet\src\shared -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtWidgets -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtGui -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtANGLE -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtSql -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtCore -Irelease -I. -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\mkspecs\win32-g++  -o release\qwshworksheetcellformula.o ..\qWorksheet\src\worksheet\cell\qwshworksheetcellformula.cpp
C:/Qt/Qt5.8.0/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/as.exe: release\qwshworksheetcellformula.o: too many sections (39030)
{standard input}: Assembler messages:
{standard input}: Fatal error: can't write release\qwshworksheetcellformula.o: File too big
C:/Qt/Qt5.8.0/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/as.exe: release\qwshworksheetcellformula.o: too many sections (39030)
{standard input}: Fatal error: can't close release\qwshworksheetcellformula.o: File too big
Makefile.Release:5110: recipe for target 'release/qwshworksheetcellformula.o' failed
mingw32-make[1]: *** [release/qwshworksheetcellformula.o] Error 1
mingw32-make[1]: Leaving directory 'C:/Users/user/Downloads/build-qWsh-Desktop_Qt_5_8_0_MinGW_32bit-Release'
Makefile:34: recipe for target 'release' failed
mingw32-make: *** [release] Error 2
13:38:07: The process "C:\Qt\Qt5.8.0\Tools\mingw530_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project qWsh (kit: Desktop Qt 5.8.0 MinGW 32bit)
When executing step "Make"

Читаю, вижу, что надо добавить опции компилятора -Wa,-mbig-obj
Добавляю в свой pro-файл:
Код:
QMAKE_CXXFLAGS += -Wa
QMAKE_CXXFLAGS += -mbig-obj

Итог печален:
Код:
C:\Qt\Qt5.8.0\5.8\mingw53_32\bin\qmake.exe -o Makefile ..\qWorksheet\qWsh.pro -spec win32-g++
C:/Qt/Qt5.8.0/Tools/mingw530_32/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory 'C:/Users/user/Downloads/build-qWsh-Desktop_Qt_5_8_0_MinGW_32bit-Release'
g++ -c -pipe -fno-keep-inline-dllexport -Wa -mbig-obj -O2 -std=gnu++11 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\qWorksheet -I. -I..\qWorksheet\src\3rdparty\qsint\include -I..\qWorksheet\src\login -I..\qWorksheet\src\browser -I..\qWorksheet\src\worksheet -I..\qWorksheet\src\database -I..\qWorksheet\src\shared -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtWidgets -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtGui -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtANGLE -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtSql -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\include\QtCore -Irelease -I. -I..\..\..\..\Qt\Qt5.8.0\5.8\mingw53_32\mkspecs\win32-g++  -o release\qwshworksheetcellformula.o ..\qWorksheet\src\worksheet\cell\qwshworksheetcellformula.cpp
g++: error: unrecognized command line option '-Wa'
g++: error: unrecognized command line option '-mbig-obj'

Что можно предпринять?
Спасибо.
« Последнее редактирование: Май 07, 2017, 16:01 от titan83 » Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #1 : Май 06, 2017, 13:12 »

Читаю, вижу, что надо добавить опции компилятора -Wa,-mbig-obj

Это одна опция для ассемблера. Попробуйте как-нибудь так (может в кавычки надо заключить):
Код
C++ (Qt)
QMAKE_CXXFLAGS += -Wa,-mbig-obj
 
Записан

Пока сам не сделаешь...
titan83
Гость
« Ответ #2 : Май 06, 2017, 19:23 »

Читаю, вижу, что надо добавить опции компилятора -Wa,-mbig-obj

Это одна опция для ассемблера. Попробуйте как-нибудь так (может в кавычки надо заключить):
Код
C++ (Qt)
QMAKE_CXXFLAGS += -Wa,-mbig-obj
 
Благодарю за ответ.
Вы правы на счет синтаксиса, я по глупости разделил одну команду на две строки, естественно, это не работало.
Но, к сожалению, проблему это так и не решило. Я пробовал убирать оптимизацию (), пробовал менять --hash-table=2048, пробовал на машине с большим объемом физической памяти.
Все те же грабли.
Видимо, придется пробовать в MSVC.
Записан
titan83
Гость
« Ответ #3 : Май 07, 2017, 16:01 »

В общем, только переползанием на msvc удалось собрать под виндой мой проект.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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