なんとな~くしあわせ?の日記

JavaとかAWSの設定とかをメモする技術ブログ

wineでMinGW + msysを動かす - 3

以前、Linux上でminttyを動かすところまで行った

wineでMinGW + msysを動かす - 2 - なんとな~くしあわせ?の日記

今度はこのままWIN32プログラミングまで手を伸ばしてみる
Wineのバージョンは1.7.16、Debian 7.4 Wheezyでテスト。

MinGW + msys + minttyの起動コマンドは以下の通り

 $ env LANG=en_EN.UTF-8 wineconsole "C:\\MinGW\\msys\\1.0\\msys.bat" --mintty

ちょっと前までwineconsoleを使わなくてもwineで動いていたはずなのだが…?

ハローワークHello, World!!

人は労働すべきだと思うよ、うん
とりあえずソースをこの辺から持ってくる
Thank you ! www.iki.fi/sol - Tutorials - Win32 Coding Tutorial

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)
{
  MessageBox(NULL,"Whee!","Hello World!",MB_OK);
  return 0;
}

f:id:panzer-jagdironscrap1:20140520003857p:plain

コンパイル時のコマンドとか
  // Emacs上で M-x compile するかシェル上で以下のように...
  $ g++ helloworld.cpp -o helloworld.exe

さすがにwine explorer上で起動させるのは無理だった

プロパティシート

プロパティシートを使ったGUIの動きを見たかったのさ…
リンクにちょい工夫が必要だが、普段からwxWidgets使ってればわかるかとー。。

ソースコードは以下から頂いた、ありがとうございました
プロパティシート

コンパイル時のコマンドとか
  // Emacs上で M-x compile するかシェル上で以下のように...
  $ g++ propsheet.cpp -o propsheet.exe -Wl,--subsystem,windows -mwindows -lcomctl32

MinGWはcomctl32のライブラリを自分で持ってるからこんなことができるんですねぃ

f:id:panzer-jagdironscrap1:20140520004715p:plain

リソースファイル

MinGWでのリソースファイルの書き方は随分前に書いた
いろいろうるさいwxICON - なんとな~くしあわせ?の日記

所感

Windowsプログラミングに改めて触れてみて、やっぱりキツイことがよくわかった。
もしwxWidgetsでこの辺実装するならwxWidgets: wxNotebook Class Referenceあたりでざくざく実装すると思う。
ちょっとパラメータ多すぎですわ