Было необходимо срочно сделать маленькую программу под 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
если кому интересно: сделал в Geany на F8 сборка для Linux, на F9 - под Windows. Для этого в параметрах сборки указываем:
скомпилировать: gcc -o "%e" "%f" -lm
собрать: i586-mingw32msvc-gcc "%f" -o "%e".exe
http://ibnteo.klava.org/2011/04-07-linux
http://uzverss.livejournal.com/38925.html
http://blog.golovin.in/portable-mingw-and-msys/