Компиляция Windows программы в Ubuntu Linux
Было необходимо срочно сделать маленькую программу под Windows, открывающую файл index.html
в браузере.
Код программы простейший, но встала проблема с его компиляцией, под винду нужно искать где-то компилятор, что не просто, с учетом что почти все они платные. Повторюсь, задачу нужно было решить срочно.
В итоге решил собрать эту программу в линуксе. Погуглив, узнал что есть такая программа, как "mingw32", ей то и решил воспользоваться. После установки пакета gcc-mingw32
, а заодно и wine
(для проверки готовой программы), скопилировал программу на си:
start.c
:
include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <shellapi.h>
int main(int argc, char *argv[])
{
ShellExecute(NULL, "open", "index.html", NULL, NULL, SW_SHOWNORMAL);
return 0;
}
Компилируем:
$ i586-mingw32msvc-gcc start.c -o start.exe
Вуаля, файл start.exe
готов к использованию в Windows. На всякий случай проверяем:
$ wine start.exe
В браузере открывается наш index.html
файл, что и требовалось.
Задача была решена за 15 минут, с учётом того, что я раньше никогда не компилировал C
код. В линуксе все инструменты под рукой, можешь сделать себе всё что нужно, виндовс же это супермаркет, где нужно найти нужное, если оно вообще есть, и потом купить его, либо украсть, при этом постоянно рискуя словить вирус.
Не пришлось бы этого делать, если бы хоть кто-то выложил скомпилированную программу, а не только её исходники. Исправляю эту ситуацию, выкладываю готовый start.exe
: start.7z (упаковано в 7-Zip архив)
И ещё, обязательно проверяйте исполняемые файлы на отсутствие вирусов: http://www.kaspersky.ru/scanforvirus