Форум программистов, компьютерный форум, киберфорум
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. Показов 337849. Ответов 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru