Название: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 14:02 Всем привет,
столкнулся со следующей проблемой: при сборке проекта "китовым" MinGW из пакета Qt 5.5.1 появляется такая вот ощибка: cc1plus.exe: out of memory allocating 1052671 bytes До этого компилер отжирает под 2 гига памяти, хотя на машине оперативы достаточно (нехватка памяти не может быть проблемой). Гугл советовал добавить в проект что-то типа QMAKE_LFLAGS += "-Wl,--stack=0x2000000" QMAKE_LFLAGS += "-Wl,--large-address-aware" но это никак не спасает :( Может кто знает, в чем может быть грабля? Спасибо заранее) Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: kai666_73 от Март 11, 2016, 14:59 Может проблема в винде - не дает она одному процессу отожрать более 2 гигов ???
Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 15:10 Может проблема в винде - не дает она одному процессу отожрать более 2 гигов ??? Винда 7, 64 бит. Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Old от Март 11, 2016, 15:13 Винда 7, 64 бит. А компилятор 32 битный. Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 15:23 Оба, но это неважно. Приложение мультиплатформенное собирается нормально и 32-битными компиляторами (кроме MinGW). Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: ViTech от Март 11, 2016, 15:53 Precompiled headers есть? Может из-за них такая ошибка происходит? Особенно с debug-сборкой, там эти precompiled файлы за сотню Мб могут получаться. Такая же ошибка была у меня или нет, уже не помню, но пришлось отключать precompiled.
Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Old от Март 11, 2016, 16:00 Оба, но это неважно. Это важно.Компилятор, как 32 битное приложение, имеет доступ только к 2 Гб памяти. И не важно сколько памяти реально стоит на машине, это ограничение адресного пространства 32 битных процессов. Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 16:11 Precompiled headers есть? Может из-за них такая ошибка происходит? Особенно с debug-сборкой, там эти precompiled файлы за сотню Мб могут получаться. Такая же ошибка была у меня или нет, уже не помню, но пришлось отключать precompiled. Нету. Собирается в релизе. Проблема ТОЛЬКО в видне, в линуксе та же версия собирается без проблем. Компилятор, как 32 битное приложение, имеет доступ только к 2 Гб памяти. И не важно сколько памяти реально стоит на машине, это ограничение адресного пространства 32 битных процессов. Это понятно, что проблема с компилятором. Скорее всего баг. Странно то, что в "интернетах" нету решения проблемы. Возможно, какой-нибудь ключик или еще что нибудь. Менять компиль неохота - придется пересобирать все либы, а это пара рабочих дней :*( Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Old от Март 11, 2016, 16:16 Это понятно, что проблема с компилятором. Скорее всего баг. Странно то, что в "интернетах" нету решения проблемы. Возможно, какой-нибудь ключик или еще что нибудь. Менять компиль неохота - придется пересобирать все либы, а это пара рабочих дней :*( Почему баг. Компилятору не хватает памяти, он останавливается с сообщение об ошибке. Все честно.Сейчас все больше будет появляться кода, который не возможно будет собирать 32 битными компиляторами. Шаблонная магия при компиляции требует кучи памяти. :) Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 16:20 Почему баг. Компилятору не хватает памяти, он останавливается с сообщение об ошибке. Все честно. Сейчас все больше будет появляться кода, который не возможно будет собирать 32 битными компиляторами. Шаблонная магия при компиляции требует кучи памяти. :) Древняя 2008-я студия и линуксовый 32-битный GCC отлично справляются с тем же кодом :) Если MinGW это сделать не в состоянии - значит, с ним не все в порядке, не? :) Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Old от Март 11, 2016, 16:25 Древняя 2008-я студия и линуксовый 32-битный GCC отлично справляются с тем же кодом :) 32 битному GCC доступно 3Гб (потому что linux), MinGW доступно только 2 Гб (ибо венда). Про студию ничего не могу сказать, скорее всего она на что-то кладет. :)Если MinGW это сделать не в состоянии - значит, с ним не все в порядке, не? :) Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: qate от Март 11, 2016, 16:57 Проблема ТОЛЬКО в видне, в линуксе та же версия собирается без проблем. вот и решение ) Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 17:27 Ладно, придется, видать, компиль на свалку отнести :(
Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: ViTech от Март 11, 2016, 18:00 Кстати, в MinGW 4.9.2 и по другим поводам ошибки компилятора типа "internal error" бывало выскакивали. Поставил MinGW 5.2.0, там это поправлено было. Причём заменял грубо: symlink на папку с новой версией mingw (чтоб Qt думало, как будто ничего не поменялось), ибо пересобирать кучу всего неохота было. Для тестовой разработки прокатывало :).
Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 18:47 То есть при линковке с 5.2.0 не должно быть проблем? Я пробовал заменить на 4.8.2 - у меня ничего не линковалось, куча ошибок :(
Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Alex Custov от Март 11, 2016, 19:11 сборка однопоточная? Сколько памяти съедает компилятор и линковщик в мониторе задач?
Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: Racheengel от Март 11, 2016, 19:27 сборка однопоточная? Сколько памяти съедает компилятор и линковщик в мониторе задач? Судя по монитору, собирается только одним потоком. Максимум, что я видел - это около 1 960 000 K. Вполне возможно, что просто сдыхает компиль. Название: Re: Проблема c MinGW 4.9.2 & Qt 5.5.1 Отправлено: ViTech от Март 11, 2016, 19:32 То есть при линковке с 5.2.0 не должно быть проблем? Я пробовал заменить на 4.8.2 - у меня ничего не линковалось, куча ошибок :( Я попробовал "на авось" - всё собирается нормально. Т.е. к Qt собранному mingw 4.9.2 из кита линковались мои либы и приложения на mingw 5.2.0. Пока то, что мне нужно для тестовой разработки собирается, в детали я не вникал, может не всегда такое прокатывает. Так-то ясное дело, что всё нужно одной версией собирать, но это потом, к продакшену ближе :). |