'lrelease.exe'64ビットWindowsを使っていて、32ビットのコマンドプロンプトやエクスプローラからqmake関係を起動するとおかしくなることがある。qmakeに限らず、64ビット環境での64ビットアプリと32ビットアプリでは環境変数などが一部異なるので、ビルド環境では64ビットの純正コマンドプロンプトやエクスプローラを使ったほうがよい。adminコモンコントロールとはWindowsOSによって提供される基本的な機能を持ったウインドウ。コモンコントロールはバージョンアップが重ねられており、バージョンの違いでヘッダファイルにも違いが出る。開発環境と実行環境で違うバージョンがインストールされている場合もある。コモンコントロールはIEのインストールでバージョンアップされる。実体はComCtl32.dll。C:\Windows\System32\ComCtl32.dllにある。ヘッダC言語のヘッダファイルでは_WIN32_IEにより、構造体などの定義が変わる。多くの構造体はそのサイズを持ち、この値がどんどん増えていく。この定数は_WIN32_WINNTの設定によって自動で設定される。5.80)になるようだ。SDKによって変わる。参照コモンコントロールウインドウの作成コモンコントロールのDLLがウインドウクラスを登録し、ユーザはこのクラスでCreateWindowExすることにより作成する。InitCommonControlsEx()を呼ぶと、クラスの登録が行われるがDLLのロード時に行われるのかもしれない。Stylesはコモンコントロールの表示スタイル(見栄え)を変える。I18Nコモンコントロールの言語を変えるにはInitMUILanguage()を呼ぶ。サイドバイサイドComCtrl32.dllはハードリンクされている。c:\Windows\SysWOW64\comctl32.dll\Windows\SysWOW64\comctl32.dll\Windows\WinSxS\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_10.0.16299.15_none_0069af6f90be856e\comctl32.dll>WinSxSはサイドバイサイドのアセンブリが置かれているところで長い名前はComCtrl32.dllのアセンブリアイデンティを表している。アプリケーションが特定のバージョンのdllを読み込みたい場合はマニフェストにこのアイデンティを指定する。language='*'\"")このpragmaのつけたexeを起動すると、C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.16299.371_none_5d75084fa7e1cb96\comctl32.dllが使われる。このファイルはハードリンクをこの1つしか持っていない。ver6のコモンコントロールを使うにはマニフェストで指定するしかないことになる。.これは普通に動くが、かなり特殊条件もあって動いている。explorerは起動されたプロセスが開くのではなかったり(開く場合もある)、”.”を理解してちゃんと開いてくれる。それにcygpath(cygwinの形態のパス変換)の問題もない。TE32.exeでカレントディレクトリを開くTEはプロセスがなければ自分で開くのでcygwinシェルから普通に起動するとシェルがブロックする。&をつけてバックグラウンドで動かしてもシェルがプロセスを管理しているため、cygwinの終了と同時に終了してしまう。nohubを使う手もあるかもしれないがここではスルー。プロセスの起動はコマンドプロンプトのstartコマンドで行えばプロセス起動後すぐに終了するので上記の問題はない。startはビルドインプロセスのようでcygwinからは起動できない。startで起動すればいい。-waコマンドで行う。-aはフルパス、-wはWindows形態に変える。よってカレントディレクトリをTE32.exeで開くには以下のように行う。.`‘””‘はstartに””を送っている。startコマンドの性質上こうしている。これでcygwinシェルから切り離されたプロセスと起動できたが何らかの環境変数などは継承しているかもしれない。上記のコマンドはパスにスペースが含まれた場合を考慮していないので、その場合は””でくくらないとならないと思う。adminqmakeのproファイルの書き方proファイルの名前hello.proを作成すると、プロジェクト名がhelloになり出来上がる実行ファイル名もhello.exeになる。ソースファイルを追加SOURCES変数にファイルを追加する。(バックスラッシュ)を行末につけて複数行にすることもできる。\paintwidget.cppヘッダファイルを追加HEADERS変数にファイルを追加する。条件と同じラインに書かなければならない。)}デバッグモードを指定するCONFIG変数にdebugと設定する。変数は自分で書いてもいい。始めるとコメントになる。line.プロジェクトのタイプを指定(アプリかライブラリか)TEMPLATE変数を使う。WindowsのコンソールアプリケーションQtライブラリを指定QT変数を使う。xmlcoreとguiはデフォルトで設定される。