Обязательно пометьте приложение (я полагаю, в исполняемом заголовке PE32) как приложение с графическим интерфейсом, а не как консоль.То есть используйте -mwindows
с mingw (а не -mconsole
).Ваш тестовый исходный код прекрасно компилируется (тогда он работает) с помощью этой простой команды (в Ubuntu 15.10 по крайней мере с установленным пакетом deb gcc-mingw-w64-i686
): i686-w64-mingw32-gcc -o test.exe test.c -mwindows
.
Я далеко не эксперт по Windows (даже непользователя слишком много ...), но, насколько мне известно, Windows строго придерживается мнения, что приложение основано на консоли или графическом интерфейсе, вы можете использовать переключатель -mwindows
, чтобы установить его как "приложение GUI".Я думаю, что для использования простого диалогового окна, которое вы пробовали, необходимо, чтобы приложение основывалось на графическом интерфейсе, и это может быть проблемой, потому что вы этого не сделали.Простой способ проверить ваш .exe:
lgb@antares:~$ file test.exe
test.exe: PE32 executable (GUI) Intel 80386, for MS Windows
Обратите внимание, однако, что приложение с графическим интерфейсом не имеет консоли, поэтому вы не можете просто printf()
или другие stdio
функции для записи вконсоль, потому что ... у вас нет консоли:)