Могу ли я связать MSVCRT статически с mingw? - PullRequest
7 голосов
/ 15 октября 2010

У меня есть программа на C, которую я компилирую с mingw в Windows.Работает нормально, но требует MSVCRT.DLL.Я хочу связать это статически (как я могу сделать в Visual Studio).Возможно ли это?

Я попытался установить флаг -static на gcc, и он ничего не изменил.

А как насчет программы C ++, использующей также стандартную библиотеку C ++?

Ответы [ 3 ]

8 голосов
/ 15 октября 2010

Я считаю, что MinGW не использует статическую библиотеку времени выполнения по причинам авторского права.

Возможно, вы можете попробовать использовать newlib (http://sourceware.org/newlib/) для создания исполняемого файла, который не ссылается на msvcrt.dll

0 голосов
/ 30 июня 2013

Потратив некоторое время на поиски этого, я наткнулся на на этот пост , представляющего текущую Mingw32 Alternate C Runtime Library . Тем не менее, он не готов к использованию, и разработчик, похоже, отказался от него. Ссылка на главную страницу здесь .

Публикация этого ответа здесь в надежде, что он пригодится людям, прибегающим к помощи в будущем.

0 голосов
/ 16 февраля 2013

Связь с gcc -static -static-libgcc -static-libstdc++, и вам не понадобятся libgcc_s_dw2-1.dll и libstdc++-6.dll

...