Digital Mars C++ Compiler を使う際のメモ。
676 名前:671 :03/10/13 02:32
原因がわかった。
とりあえずここを読んでくれ。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win9x/verdiff_2awj.aspんで、気になって調べてみたところ、DMDが吐くEXEのPE Optional Headerの
MajorOperatingSystemVersionが1.0、
Major/MinorSubsystemVersionが3.Aになってた。
バージョンが4以上だとタイトルバー持ってれば勝手に
WS_EX_WINDOWEDGEスタイルを付けるらしいんで
そこを両方とも4.0に変えてみたらちゃんと枠がつきました。
まぁぶっちゃけ、EXEファイルのA0の01を04、A8-AAの03 00 0A を 04 00 00 に変えれば枠が付く。
もしかしたら漏れの使ってるDMDのバージョンが古いだけかもしんね。スマソ。
あるいはDigitalMarsのFAQより。
A strange extra line is displayed under the menu bar?
This occurs on Windows XP systems running in the standard XP style UI. It does not occur on Win 2K, or XP in "classic" mode. The solution is to make sure the following lines are in the module definition file:
EXETYPE NT
SUBSYSTEM WINDOWS,4.0
or add the linker flag -L/exet:nt/su:windows:4.0.
STLPort有効でビルド。
set STLPORT_VERSION=4.6.3 set STLPORT_4.6.3_PATH=C:/Develop/DigitalMars/dm/STLPort bjam -sTOOLS=dmc-stlport --sBUILD=<stlport-iostream>on --prefix=c:/Develop/DigitalMars/dm -sDMC_ROOT=...presented by k.inaba (kiki .a.t. kmonos.net) under