PS Wiki

Живее всех живых

Инструменты пользователя

Инструменты сайта


win:dev:mingw

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
win:dev:mingw [2021.12.27 21:31:17] – [Дополнительно] adminwin:dev:mingw [2025.01.26 21:48:36] (текущий) – [Компиляция (MinGW)] admin
Строка 1: Строка 1:
 ====== MinGW & MSYS ====== ====== MinGW & MSYS ======
 +[[https://osdn.net/projects/mingw/|Официальный сайт (OSDN)]]
   * [[https://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip/download|https://sourceforge.net/projects/mingw/]] -> [[https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download|mingw-get-setup.exe]] (0.6.2 - старая страница)   * [[https://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip/download|https://sourceforge.net/projects/mingw/]] -> [[https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download|mingw-get-setup.exe]] (0.6.2 - старая страница)
   * [[https://osdn.net/projects/mingw/downloads/68260/mingw-get-0.6.3-mingw32-pre-20170905-1-bin.zip/|https://osdn.net/projects/mingw/]] -> [[https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/|mingw-get-setup.exe]] (0.6.3 - новая страница/версия)   * [[https://osdn.net/projects/mingw/downloads/68260/mingw-get-0.6.3-mingw32-pre-20170905-1-bin.zip/|https://osdn.net/projects/mingw/]] -> [[https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/|mingw-get-setup.exe]] (0.6.3 - новая страница/версия)
Строка 16: Строка 17:
   - В новом окне нажмите на ''Apply'', а затем на ''Close''   - В новом окне нажмите на ''Apply'', а затем на ''Close''
   - Закройте программу ''MinGW Installation Manager''   - Закройте программу ''MinGW Installation Manager''
 +
 +
 +===== Использование =====
 +  * <code batch msys_shell.bat>@echo off
 +msys\1.0\msys.bat</code>
 +
  
 ===== Дополнительно ===== ===== Дополнительно =====
Строка 21: Строка 28:
     - Запустите ''C:\MinGW\msys\1.0\msys.bat''     - Запустите ''C:\MinGW\msys\1.0\msys.bat''
     - Выполните следующие команды построчно:<code>     - Выполните следующие команды построчно:<code>
-wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz+wget -q --show-progress https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
 tar -xvf openssl-1.0.2u.tar.gz && cd openssl-1.0.2u tar -xvf openssl-1.0.2u.tar.gz && cd openssl-1.0.2u
-./config && make && make test+./config && make
 </code> </code>
-  [[https://sourceforge.net/projects/perl-mingw/|Perl-MinGW]]+    - Скопируйте папку ''include\openssl'' в ''C:\MinGW\include'' 
 +    - Скопируйте файлы ''libcrypto.a'' и ''libssl.a'' в ''C:\MinGW\lib'' 
 +  * **Статическая линковка zlib**: 
 +    * Удалить или переименовать ''C:\MinGW\lib\libz.dll.a''\\ или 
 +    * Добавить ''-static'' в начало ''LDFLAGS'' внутри ''Makefile'' 
  
 ===== Обновление ===== ===== Обновление =====
Строка 33: Строка 45:
   - В новом окне нажмите на ''Apply'', а затем на ''Close''   - В новом окне нажмите на ''Apply'', а затем на ''Close''
   - Закройте программу ''MinGW Installation Manager''   - Закройте программу ''MinGW Installation Manager''
 +
  
 ===== Очистка кэша ===== ===== Очистка кэша =====
-  * Удалите папку ''C:\MinGW\var\cache''+  * Удалите все файлы из папки ''C:\MinGW\var\cache\mingw-get\packages''
  
  
 ===== Компиляция (MinGW) ===== ===== Компиляция (MinGW) =====
-  * Сборка<file batch mingw32-make.bat>@echo off+  * Сборка через **make/makefile**<file batch mingw32-make.bat>@echo off
 path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin
 mingw32-make.exe mingw32-make.exe
 pause</file> pause</file>
-  * Очистка<file batch mingw32-clean.bat>@echo off+  * Очистка через **make/makefile**<file batch mingw32-clean.bat>@echo off
 path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin
 mingw32-make.exe clean mingw32-make.exe clean
 +pause</file>
 +  * Сборка через **gcc/program.c**<file batch gcc-make.bat>@echo off
 +path=C:\Dev\SDK\mingw\bin;C:\Dev\SDK\mingw\msys\1.0\bin
 +if "%1" neq "" (
 + echo "%~nx1"
 + if "%~x1" equ ".c" (
 + gcc.exe -static -O2 -s -o "%~dpn1.exe" "%1"
 + )
 + if "%~x1" equ ".cpp" (
 + g++.exe -static -O2 -s -o "%~dpn1.exe" "%1"
 + )
 + strip.exe -s "%~dpn1.exe"
 +) else (
 + for %%f in (*.c) do (
 + echo "%%f"
 + gcc.exe -static -O2 -s -o "%%~nf.exe" "%%f"
 + strip.exe -s "%%~nf.exe"
 + )
 + for %%f in (*.cpp) do (
 + echo "%%f"
 + g++.exe -static -O2 -s -o "%%~nf.exe" "%%f"
 + strip.exe -s "%%~nf.exe"
 + )
 +)
 +pause</file>
 +
 +
 +===== Hello World =====
 +  * <file c program.c>// ISO/IEC 9899:TC3
 +#include <stdio.h>
 +#include <stdlib.h>
 +
 +int main(int argc, char *argv[]) {
 +  printf("Hello World\n");
 +  return 0;
 +}</file>
 +  * <file batch program.bat>@echo off
 +path=C:\Dev\SDK\mingw\bin;C:\Dev\SDK\mingw\msys\1.0\bin
 +if not exist %~n0.exe (
 + gcc.exe -static -O2 -s -o %~n0.exe %~n0.c
 + strip.exe -s %~n0.exe
 +)
 +if exist %~n0.exe (
 + file %~n0.exe
 + ldd %~n0.exe
 + %~n0.exe
 +)
 pause</file> pause</file>
  
win/dev/mingw.1640640677.txt.gz · Последнее изменение: admin