Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/1440: Рейтинг темы: голосов - 1440, средняя оценка - 4.95
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2

Сборки MinGW (GCC-win32/win64) от niXman

30.07.2011, 22:48. Показов 343738. Ответов 459

Студворк — интернет-сервис помощи студентам
с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw.
файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую для тестирования новых фитчей.
файлы с пометкой release - стабильные, прошедшие тесты.
скачать можно тут.
скачать онлайн-инсталятор можно тут.
скачать msys2 можно тут

в скором времени начну формировать пакеты для разработчиков состоящие из компилятора(mingw), IDE(QtCreator/CodeBlock/Dev-C++/wxDev-cpp), и некоторого набора предкомпилированных библиотек(boost, Wx, Qt, OpenSsl, и еще каких-то.. понять бы что в спросе...). пакеты не будут требовать установки/настройки. распаковал - используй.

Не по теме:

старая ссылка тут.

43
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2011, 22:48
Ответы с готовыми решениями:

Сборки MinGW(win32/win64) от niXman C++1x
никто не знает как MinGW(win32/win64) от niXman подключить к codeblocks? и с какими параметрами указывать? я установил threads - win32,...

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и TDM-GCC? Какие плюсы/минусы у этих трех...

Visual Code + gcc-win64
собственно вопрос как подружить Visual Code и gcc-win64 ?

459
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
20.08.2013, 11:19
Студворк — интернет-сервис помощи студентам
Я попробовал сейчас в -I подставить win-подобный путь ( C:/path/path2 ... ), и он подошел, но толку наверно мало от этого.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
20.08.2013, 11:23
Цитата Сообщение от Toshkarik Посмотреть сообщение
Я попробовал сейчас в -I подставить win-подобный путь ( C:/path/path2 ... ), и он подошел, но толку наверно мало от этого.
Да я вот тоже пробовал, но что-то не получилось. Как уже говорил, голова мутная была, может что-то криво сделал. Попробую ещё разок. Надо ещё раз аккуратно переосмыслить, как работа из-под cygwin'а вяжется с использованием внешнего компилятора. Просто MinGW - это компилятор под windows, а мне пока нужно некое подобие компилятора под linux (исходники у нас немного "грязные")
0
114 / 23 / 0
Регистрация: 28.10.2012
Сообщений: 37
20.08.2013, 11:23
Цитата Сообщение от Toshkarik Посмотреть сообщение
Я попробовал сейчас в -I подставить win-подобный путь ( C:/path/path2 ... ), и он подошел, но толку наверно мало от этого.
Для компиляции одиночных файлов это подойдет. Но везде нужно вручную прописывать виндовые пути. Плюс в этом случае ты не можешь использовать autotools. Cygwin не предназначен для использования non-cygwin программ. Для этой цели он и был форкнут в MSYS.
1
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
20.08.2013, 18:42
Цитата Сообщение от Alexpux Посмотреть сообщение
MSYS это немного доработанный cygwin. Доработки обеспечивают трансляцию unix-like путей в windows-like пути для нативный виндовых прог.
Ну, прямо скажем, не совсем так. MSYS- это минимальное unix-like окружение в среде win, фактически только gcc пускать. А cygwin- это окружение близкое к полноценному, вплоть до Х. Из-за этого родные цигвиновские билду таскают с собой dll-ки. Если явная совместимость с *nix не нужна, то и cygwin не нужен.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
20.08.2013, 19:05
Мне нужно скомпилять под виндой проект, который работает под линуксом. Линукс-зависимая часть навскидку выражена только в процессе запуска из-под одного приложения (wrapper) другого приложения (вычислитель). А так же работа с файлами по линуксовым путям. Может что-то ещё по мелочи. Всё остальное - это счётная задача, работающая в рамках стандартного библиотечного окружения языка Си. Тем не менее линукс-зависимую часть в идеале нужно НЕ трогать. Потому и пока отрабатываю вариант через cygwin

С cygwin'ом проблема в кривом компиляторе (стандартная идиотская манера пихать в дистрибутив всё самое свежее). В этом смысле в идеальном случае (без правок исходников или с очень минимальными правками) меня бы устроил cygwin. Если MSYS поддерживает такие же прокладки, как и cygwin (типа конвертация линуксовых путей в виндовые), то может быть и на MSYS'е. Вариант с переписыванием системной части кода под винду менее желателен и остаётся на крайний случай
0
114 / 23 / 0
Регистрация: 28.10.2012
Сообщений: 37
20.08.2013, 20:31
Цитата Сообщение от nenin Посмотреть сообщение
Ну, прямо скажем, не совсем так. MSYS- это минимальное unix-like окружение в среде win, фактически только gcc пускать. А cygwin- это окружение близкое к полноценному, вплоть до Х. Из-за этого родные цигвиновские билду таскают с собой dll-ки. Если явная совместимость с *nix не нужна, то и cygwin не нужен.
Минимальным его делает лишь количество собранных под него программ. В принципе при желании можно собрать все что есть в cygwin.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
20.08.2013, 22:24
В конечном итоге косяки были именно в 64-битной версии gcc, а 32-битная версия была какая-то недоделанная. Заменил cygwin64 на cygwin32, то стало всё нормально. Во всяком случае вычислитель заработал. К тому же в 32-битном cygwin'е gcc культурной версии (4.7.3)
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
21.08.2013, 11:21
Цитата Сообщение от Alexpux Посмотреть сообщение
Минимальным его делает лишь количество собранных под него программ. В принципе при желании можно собрать все что есть в cygwin.
X`ы запустить? DDD? Тогда соберётся тот же cygwin. msys полной *nix среды не формирует, он только дает минимальную обвязку для запуска gcc (но не поддержки программирования под *nix).

Добавлено через 2 минуты
Цитата Сообщение от Evg Посмотреть сообщение
В конечном итоге косяки были именно в 64-битной версии gcc, а 32-битная версия была какая-то недоделанная. Заменил cygwin64 на cygwin32, то стало всё нормально. Во всяком случае вычислитель заработал. К тому же в 32-битном cygwin'е gcc культурной версии (4.7.3)
cygwin тогда. Для вычислителя наверное лучше dwarf (или SEH под 64 бита).
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
21.08.2013, 11:53
Цитата Сообщение от nenin Посмотреть сообщение
Для вычислителя наверное лучше dwarf (или SEH под 64 бита)
Вычислитель на Си написан, там нет exception'ов.

Проблема с gcc-64 была при вызове isdigit, isalpha и прочих подобных интерфейсов, которые в glibc реализованы в виде массива-таблицы, через который извлекаются ответы на вопросы. В этом месте компилятор вставал раком (печатал узел RTL, который ему был непонятен). Ошибка по виду похожа на одну из многочисленных ошибок, которые были в gcc'ях более чем 10-летней давности, проявлявшихся на единственный в тот момент64-битной платформе sparc. Вот и с intel'овским портом столько лет спустя ходят по тем же самым граблям.

Ради интереса надо будет попробовать выдрать короткий пример и посмотреть на культурных версиях 64-битного gcc. Что-то сильно подозреваю, что проблема повторится
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
21.08.2013, 12:05
Цитата Сообщение от Evg Посмотреть сообщение
Вычислитель на Си написан, там нет exception'ов.

Проблема с gcc-64 была при вызове isdigit, isalpha и прочих подобных интерфейсов,
Я билдил свои проекты в mingw 64 (4.7 и 4.8 ) бита- just for fun- проблем не было. Но не эксплуатировал, так, попробовал.
Фортрановский один большой проект перебилдил- работает нормально. Этот чувствителен к точности вычислений.
0
114 / 23 / 0
Регистрация: 28.10.2012
Сообщений: 37
21.08.2013, 12:28
Цитата Сообщение от nenin Посмотреть сообщение
X`ы запустить? DDD? Тогда соберётся тот же cygwin. msys полной *nix среды не формирует, он только дает минимальную обвязку для запуска gcc (но не поддержки программирования под *nix).
В настоящий момент MSYS2 мало чем отличается от cygwin. Добавлена логика трансляции путей, чтения упрощенного /etc/fstab и некоторые другие изменения. Ведется дискуссия с cygwin developers о добавлении msys mode в cygwin.
Да и в начале своего существования MSYS мог иметь все те же приложения что и cygwin.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
21.08.2013, 12:47
Цитата Сообщение от Alexpux Посмотреть сообщение
В настоящий момент MSYS2 мало чем отличается от cygwin.
C MSYS2 не знаком, но, скажем, DDD под cygwin`oм пускал, хотя использовать не смог. IMHO, cygwin- это wine наоборот.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
21.08.2013, 20:31
Проблемный тест был:

C
#include <ctype.h>
 
int func (const char *name)
{
  return isdigit (*name);
}
после препроцессирования он превращается

C
extern __attribute__((dllimport)) char *__ctype_ptr__;
 
int func (const char *name)
{
  return (((__ctype_ptr__+sizeof(""[*name]))[(int)(*name)])&04);
}
компилятор такой:

Code
$ gcc -v
Используются внутренние спецификации.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/lto-wrapper.exe
Целевая архитектура: x86_64-pc-cygwin
Параметры конфигурации: /cygdrive/i/szsz/tmpp/cygwin64/gcc/gcc-4.8.1-3/src/gcc-4.8.1/configure
--srcdir=/cygdrive/i/szsz/tmpp/cygwin64/gcc/gcc-4.8.1-3/src/gcc-4.8.1 --prefix=/usr --exec-prefix=/usr
--bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var
--sysconfdir=/etc --datarootdir=/usr/share --docdir=/usr/share/doc/gcc -C --build=x86_64-pc-cygwin
--host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix
--enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs
--enable-bootstrap --disable-__cxa_atexit --with-dwarf2 --with-tune=generic
--enable-languages=c,c++,fortran,lto,objc,obj-c++ --enable-graphite --enable-threads=posix
--enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support
--enable-libssp --enable-libgcj-sublibs --disable-java-awt --disable-symvers
--with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as
--with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix
--with-system-zlib
Модель многопоточности: posix
gcc версия 4.8.1 (GCC)
Выдаваемая ошибка:

Code
$ gcc -m32 -c t.c
t.c: В функции «func»:
t.c:6:1: ошибка: некорректная RTL-инструкция
 }
 ^
(insn 5 2 6 2 (set (reg/f:SI 68)
        (symbol_ref:SI ("__ctype_ptr__") [flags 0x440] <var_decl 0x6ffffcb0850 __ctype_ptr__>)) t.c:5 -1
     (nil))
t.c:6:1: внутренняя ошибка компилятора: в extract_insn, в recog.c:2150
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Компиляторы от nixMan'а версии 4.8.1 я не смог запустить - не хотят запускаться без libwinpthread-1.dll
0
114 / 23 / 0
Регистрация: 28.10.2012
Сообщений: 37
21.08.2013, 20:32
libwinpthread-1.dll находится в папке bin тулчейна
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
21.08.2013, 20:36
Запустилось. На этих версиях косяк не проявляется. Значит чота не так с cigwin'овским компилятором
0
37 / 36 / 4
Регистрация: 08.08.2010
Сообщений: 162
09.09.2013, 02:00
А кто-нибудь пробовал собирать им POCO?
Объектники файлов использующих библиотеку, требуют кучу символов начинающихся с _imp__, которых нету в файлах библиотеки...
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
09.09.2013, 02:11  [ТС]
я собирал. никаких косяков.
Цитата Сообщение от knkd Посмотреть сообщение
требуют кучу символов начинающихся с _imp__
это говорит о том, что при линковке, ты не указываешь необходимые библиотеки, в которых находится импорт этих символов.

покажи вывод компилятора.
0
37 / 36 / 4
Регистрация: 08.08.2010
Сообщений: 162
09.09.2013, 19:56
Так дело в том, что ни в одной библиотеке таких символов нет.

Варнинги оне на работе, где нет инета, а я дома, где нет винды...
На линуксе POCO из репозитория, всё работает.

Ни у кого нету собраного, проверить?
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
09.09.2013, 20:03  [ТС]
Цитата Сообщение от knkd Посмотреть сообщение
Варнинги оне на работе, где нет инета
сочувствую.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
15.09.2013, 10:48
А есть mingw где поддерживается структурная обработка исключений?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.09.2013, 10:48

Win32 -> Win64 = BEX
Проблема появилась после переустановки вин32 ту 64. Проект был с 12 альфа скинами и библ bass.dll На новой системе поставил тот же RAD...

Как перекомпилить Win32 dll -> Win64
Привет форумчане. Подскжите как перестроить MS2005 стоящую на ХР что бы можно было перекомпилить мою dll-ку под платформу Win64

Существуют ли готовые сборки Qt для MinGW версий выше 4.4?
Существуют ли аналоги QtSDK, но с компилятором поновее? Если есть, то где? В частности интересует Qt 4.7.4. Просьба, советы в духе...

Ошибка на компиляторе MinGW при сборке структуры
Помогите, пожалуйста, не знаю что делать. Вот такой простенький код struct abc { int a; }; а выдает ошибку и...

Сборка MySQL драйверов под Windows для mingw
При выполнении C:\Qt\Qt5.1.0\5.1.0-beta1\Src\qtbase\configure.exe Выдает ошибку: Error: Creating a shadow build of Qt requires ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
320
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru