2004/10/2 (土) 13:37:30 げんた  
INCM1.23c
[3754] Microsoft Visual C++ Toolkit 2003
http://msdn.microsoft.com/visualc/vctoolkit2003/
にて,Microsoft Visual C++ Toolkit 2003が無料配布されいます.
Visual Studio .NET 2003 Professional相当の最適化コンパイラとC/C++標準ライブラリが入っているそうですので,これとWindows Platform SDKの組み合わせでこのエディタもコンパイルできるのでは?と思います.

というわけでチャレンジャー募集中.

slashdot.jp に参考になるコメントが色々...
http://slashdot.jp/developers/04/04/19/1757207.shtml?topic=58

.NET SDKにはnmakeが入っている模様ですが,そのためだけに.NET SDK入れるのもちょっと...

2004/10/18 (月) 12:25:39 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 1.4.0)
[3766] Re:Microsoft Visual C++ Toolkit 2003
▼ げんたさん
> http://msdn.microsoft.com/visualc/vctoolkit2003/
> にて,Microsoft Visual C++ Toolkit 2003が無料配布されいます.
> Visual Studio .NET 2003 Professional相当の最適化コンパイラとC/C++標準ライブラリが入っているそうですので,これとWindows Platform SDKの組み合わせでこのエディタもコンパイルできるのでは?と思います.
>
> というわけでチャレンジャー募集中.
>
> slashdot.jp に参考になるコメントが色々...
> http://slashdot.jp/developers/04/04/19/1757207.shtml?topic=58
>
> .NET SDKにはnmakeが入っている模様ですが,そのためだけに.NET SDK入れるのもちょっと...

コンパイルチャレンジしてみたけどソースに入っているmakefileでは
うまくコンパイルできませんでした。。。

makefile(169) : fatal error U1001: syntax error : illegal character '.' in macro

ということで
一度MSVC++.Net2003の環境で[メイクファイルのエクスポート]してから再挑戦します

参考までにPlatform SDKをインストールすればここにnmakeが入っていますね
C:\Program Files\Microsoft SDK\Bin\Win64;


ではでは

2004/10/20 (水) 10:32:21 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 1.4.0)
[3768] Re:Microsoft Visual C++ Toolkit 2003
▼ げんたさん

>> 一度MSVC++.Net2003の環境で[メイクファイルのエクスポート]してから再挑戦します
私がこんなこといいましたが「スタンダード版」ではこの機能なかったです(鬱
(お金たまったらプロフェッショナル版買おうかな。。。)
ということですみませんがエクスポートしたメイクファイルがほしいです。。。
よろしくお願いいたします。


2004/10/21 (木) 18:59:37 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 1.4.0)
[3770] Re:Microsoft Visual C++ Toolkit 2003
▼ げんたさん
> http://msdn.microsoft.com/visualc/vctoolkit2003/
> にて,Microsoft Visual C++ Toolkit 2003が無料配布されいます.
> Visual Studio .NET 2003 Professional相当の最適化コンパイラとC/C++標準ライブラリが入っているそうですので,これとWindows Platform SDKの組み合わせでこのエディタもコンパイルできるのでは?と思います.
>
> というわけでチャレンジャー募集中.
>
> slashdot.jp に参考になるコメントが色々...
> http://slashdot.jp/developers/04/04/19/1757207.shtml?topic=58
>
> .NET SDKにはnmakeが入っている模様ですが,そのためだけに.NET SDK入れるのもちょっと...

とりあえずnmake使用せずバッチファイル作って1つずつコンパイル
であればコンパイル、リンクできたしちゃんと起動しました

ToolkitとPlatform SDKインストール後、環境変数変更
・環境変数PATHにnmakeのパス追加
・環境変数INCLUDEにmfcのヘッダーのパス追加

以下 設定例です
SET PATH=C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;C:\Program Files\Microsoft SDK\Bin;C:\Program Files\Microsoft SDK\Bin\Win64;%PATH%
SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft SDK\Include;C:\Program Files\Microsoft SDK\include\Win64\mfc;%INCLUDE%
SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft SDK\Lib;%LIB%


2004/10/21 (木) 19:02:48 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 1.4.0)
[3771] Re2:Microsoft Visual C++ Toolkit 2003
参考にならないかも知れないけど。。。

cl /nologo /W3 /GR /GX /O2 /I "..\sakura_core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAKURA_NO_DLL" /YX /FD /c ..\sakura_core\CAutoSave.cpp /Fo.\obj\CAutoSave.obj
...途中省略
cl /nologo /W3 /GR /GX /O2 /I "..\sakura_core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAKURA_NO_DLL" /YX /FD /c ..\sakura_core\MY_SP.C /Fo.\obj\MY_SP.obj
rc /w  /i "..\sakura_core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D"_MBCS" /D "SAKURA_NO_DLL" ..\sakura_core\sakura_rc.rc
cl /nologo /W3 /GR /GX /O2 /I "..\sakura_core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAKURA_NO_DLL" /YX /FD /c ..\sakura_core\StdAfx.cpp /Fo.\obj\StdAfx.obj
cl /nologo /W3 /GR /GX /O2 /I "..\sakura_core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAKURA_NO_DLL" /YX /FD /c ..\sakura_core\WinMain.cpp /Fo.\obj\WinMain.obj
link .\obj\*.obj ..\sakura_core\sakura_rc.res kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comctl32.lib Imm32.lib mpr.lib /nologo /subsystem:windows /machine:I386 /OUT:sakura.exe

こんな感じです

2004/10/22 (金) 03:45:00 げんた  
INCM1.23c
[3772] makefile (Re2:Microsoft Visual C++ Toolkit 2003)
自分の所にはnmakeが無いなあと思っていたのですが,Core SDKの64bit開発環境をインストールする必要があったのですね.
(Win64の中身はIA64で実行するものとばかり思っていました)
その中のIA64ディレクトリの中身はIA64実行用でした.(同じディレクトリのdumpbin.exeで確認)

link.exeとcl.exeも同じディレクトリに入っていますが,これもWin32で動作するIA64のクロスコンパイラみたいですね.これを使えばIA64バイナリも公開できるかな.(でも動作確認がとれませんが...)

>とりあえずnmake使用せずバッチファイル作って1つずつコンパイル
>であればコンパイル、リンクできたしちゃんと起動しました

環境変数の設定,コンパイルオプションなど大変参考になります.
makefileですが"$."及び"$:"というのがnmakeで認識されないためエラーになったようです.幸いにしてBorlandのmakeはnmakeのファイル指定マクロをサポートしているのでnmakeで認識される形に書き換えてみました.共有フォルダのSource/makefile.nというファイルです.BCC用の設定しか入っていないのですが,先頭の方にあるコンパイラ未サポートエラーの部分にVC用のコンパイルオプションを入れればうまく動くのではないかと期待しております.

nmakeのリファレンスです
http://www.microsoft.com/JAPAN/developer/library/vcug/_asug_overview.3a_.nmake_reference.htm

ついでなので,bcc使用時にオブジェクトファイルが専用のディレクトリに入るようにしてみましたがちょっと不完全です.

ところでリソースコンパイルが参考例に入っていなかったのがちょっと気になったのですが...

2004/10/22 (金) 12:52:06 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 1.4.0)
[3774] Re:makefile (Re2:Microsoft Visual C++ Toolkit 2003)
▼ げんたさん
> 自分の所にはnmakeが無いなあと思っていたのですが,Core SDKの64bit開発環境をインストールする必要があったのですね.
> (Win64の中身はIA64で実行するものとばかり思っていました)
> その中のIA64ディレクトリの中身はIA64実行用でした.(同じディレクトリのdumpbin.exeで確認)
>
> link.exeとcl.exeも同じディレクトリに入っていますが,これもWin32で動作するIA64のクロスコンパイラみたいですね.これを使えばIA64バイナリも公開できるかな.(でも動作確認がとれませんが...)
>
> >とりあえずnmake使用せずバッチファイル作って1つずつコンパイル
> >であればコンパイル、リンクできたしちゃんと起動しました

> 環境変数の設定,コンパイルオプションなど大変参考になります.
> makefileですが"$."及び"$:"というのがnmakeで認識されないためエラーになったようです.幸いにしてBorlandのmakeはnmakeのファイル指定マクロをサポートしているのでnmakeで認識される形に書き換えてみました.共有フォルダのSource/makefile.nというファイルです.BCC用の設定しか入っていないのですが,先頭の方にあるコンパイラ未サポートエラーの部分にVC用のコンパイルオプションを入れればうまく動くのではないかと期待しております.
>
> nmakeのリファレンスです
> http://www.microsoft.com/JAPAN/developer/library/vcug/_asug_overview.3a_.nmake_reference.htm
>
> ついでなので,bcc使用時にオブジェクトファイルが専用のディレクトリに入るようにしてみましたがちょっと不完全です.
>
> ところでリソースコンパイルが参考例に入っていなかったのがちょっと気になったのですが...

埋もれてわかりにくかったようですね
rc /w  /i "..\sakura_core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D"_MBCS" /D "SAKURA_NO_DLL" ..\sakura_core\sakura_rc.rc
です

2004/10/28 (木) 10:37:36 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 1.4.1)
[3776] Re:makefile (Re2:Microsoft Visual C++ Toolkit 2003)
▼ げんたさん
yahooの共有フォルダにあるmakefile.nでコンパイルしてみました
リソースがうまくコンパイルできてないのとclean時に一部ファイルが残る
以外は問題ないようです

リソースがうまくコンパイルできない
 −>55行目あたりにRC=rc.exeを入れるか環境変数で設定してしまう
make clean時に一部ファイルが残る
 −>以下の行を追加
        -erase .\*.idb
        -erase .\*.pch
*.idbは何のファイルかわからないですが*.pchはプリコンパイル済みヘッダーです

2004/10/28 (木) 14:51:37 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 1.4.1)
[3777] Re2:makefile (Re2:Microsoft Visual C++ Toolkit 2003)
▼ すすさん
> ▼ げんたさん
自分で余計なオプション書いておいて恐縮なのですが
RFLAGS=/l 0x411 /d "NDEBUG" /I "$(SRCDIR)"
だけでいいようです

2005/11/11 (金) 18:21:27 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Lunascape 1.4.1)
[4110] Re:Microsoft Visual C++ Toolkit 2003
▼ げんたさん

ソース ssrc_2005-11-06.tar.bz2 をベースにmakefile.nを修正してみました。
あと環境設定用のバッチファイルです。

http://briefcase.yahoo.co.jp/bc/szk_sin/lst?&.dir=/sakura&.src=bc&.view=l

気が向いたら、共有フォルダにあるものを差し替えてください。

2006/3/17 (金) 16:33:40 げんた  
INCM1.23c
[4300] Re2:Microsoft Visual C++ Toolkit 2003
>気が向いたら、共有フォルダにあるものを差し替えてください。
気が向いたときは,既に削除されていたりして...ぐすん

とりあえず自分で修正してYahoo!Groupsのmakefile.n1を作りました.
(なぜか古いのが自分でも削除できない...)

--
*RCの定義を追加
*RFLAGSを簡素な物に
*新しく追加されたファイルをOBJSに追加


これに加えて
*SDKが新しくなってディレクトリ名が変わっている
SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft Platform SDK\Include;C:\Program Files\Microsoft Platform SDK\Include\mfc;C:\Program Files\Microsoft Platform SDK\Include\crt

SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft Platform SDK\Lib

Note:環境変数の各ディレクトリは""で囲まない.

pch, idb, ilkはIDEを使わなければ作られないようですが,削除対象にする必要あります?

---
オブジェクトを格納するディレクトリが存在しないときに自動生成させる方法がわからないので,とりあえずは手動で予め作るしか無さそうです.

あと,これがBorland C++でもコンパイルできることが確認できればmakefileを置き換えたいのですが,だれか確認してくれる方いませんか.

2006/3/18 (土) 02:14:55 げんた  
INCM1.23c
[4303] Re3:Microsoft Visual C++ Toolkit 2003
>pch, idb, ilkはIDEを使わなければ作られない
pch, idbはオブジェクトの場所ではなくカレントディレクトリにあるんですね.見落としていました.
これらのファイルは/Fp, /Fdオプションで場所を指定できるので,オブジェクトと同じ場所においた方がよいのかなと思います.しかし,デフォルトの名前にVCのバージョンらしき物が付くところを見るとバージョン間で互換性が無さそうなので,固定した名前を付けてしまうと複数のバージョンを使っている人(いるかな?)がはまりそうです.

>あと,これがBorland C++でもコンパイルできることが確認できればmakefileを置き換えたいのですが,だれか確認してくれる方いませんか.
自分でやってみました.まず最初の難関はBCCが新しいPlatform SDKに対応できていないのですが,新しいSDKに依存している部分(NewApis.h)があるので新しいファイルも必要です.
そこで,bcc32.cfgで-Iの最後に
;"C:\Program Files\Microsoft Platform SDK\Include"
と追加したらとりあえずコンパイルはOKでした.

次にリンクの段階で普通に$**とするとコマンドラインが長すぎてエラーになるので,現行のmakefileでかろとさんが既に変更されているとおりレスポンスファイルを利用するようにしました.レスポンスファイルの範囲を示す文字列が!だとmakeに対する指令と誤認してnmakeでエラーになるので%に変更.

またbcc32はclと違ってリソースファイルのリンクが行えないので,リソース無しのEXEとリソースの結合を行うステップは省略できませんでした.ここも現行のmakefileから持ってきました.

---
と,なんとかVC/BCC共用makefileができましたので,Yahoo GroupsのDev/Sourceにmakefile.n2として登録しました.

ホームページのコンパイル方法のページにも,新しいコンパイラの記述を追加しました.
http://members.at.infoseek.co.jp/sakura_editor/complie.html

2006/3/22 (水) 13:16:01 すす  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Lunascape 1.4.1)
[4326] Re3:Microsoft Visual C++ Toolkit 2003
▼ げんたさん
> >気が向いたら、共有フォルダにあるものを差し替えてください。
> 気が向いたときは,既に削除されていたりして...ぐすん

すみません。
ちょっといろいろあって非公開にしたままでした。

参考程度に公開しておきます。

> pch, idb, ilkはIDEを使わなければ作られないようですが,削除対象にする必要あります?
特に問題は出なかったのでなくても良いかと

> オブジェクトを格納するディレクトリが存在しないときに自動生成させる方法がわからないので,とりあえずは手動で予め作るしか無さそうです.
確かに

2006/3/24 (金) 01:06:39 なむ  
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
[4330] Re4:Microsoft Visual C++ Toolkit 2003

> > オブジェクトを格納するディレクトリが存在しないときに自動生成させる方法がわからないので,とりあえずは手動で予め作るしか無さそうです.
> 確かに

ターゲットにディレクトリをいれるのはどうですか?


--- makefile.n2        Fri Mar 24 00:53:16 2006
+++ makefile.n3        Fri Mar 24 00:49:36 2006
@@ -216,8 +216,9 @@
 !ifdef BCC
 all : tool tall
 
+
 ## Tool for Borland C++
-tool : $(OBJDIR)\mrc2brc.exe
+tool : "$(OBJDIR)" $(OBJDIR)\mrc2brc.exe
 
 $(OBJDIR)\mrc2brc.exe : $(OBJDIR)\mrc2brc.obj $(OBJDIR)\RcCvt.obj
         $(CC) $(CPPFLAGS) $(OPTFLAGS) -WC -e$@ $**
@@ -240,7 +241,10 @@
 
 
 ## Editor includes sakura_core
-tall : $(OBJDIR)\sakura.exe
+tall : "$(OBJDIR)" $(OBJDIR)\sakura.exe
+
+"$(OBJDIR)" :
+    if not exist "$(OBJDIR)/$(NULL)" mkdir "$(OBJDIR)"
 
 !ifdef BCC
 $(OBJDIR)\sakura_norc.exe : $(OBJS)


動作環境
Win2k SP4

コマンドライン
C:\>nmake -f makefile.n3 DEBUG=1
C:\>nmake -f makefile.n3
C:\>make -f makefile.n3 -DDEBUG
C:\>make -f makefile.n3

2006/3/25 (土) 10:59:59 げんた  
INCM1.23c
[4334] Re5:Microsoft Visual C++ Toolkit 2003
>ターゲットにディレクトリをいれるのはどうですか?
おお,うまくいきました.ありがとうございます.

>if not exist "$(OBJDIR)/$(NULL)" mkdir "$(OBJDIR)"
の$(NULL) が無くても問題ないようですが...これは何なんでしょう?

新しいMakefile
https://sourceforge.net/tracker/index.php?func=detail&aid=1455184&group_id=12488&atid=312488
と,すすさんのバッチファイルでさくっとコンパイルできました.

2006/3/25 (土) 11:35:01 げんた  
INCM1.23c
[4335] Commit: Re6:Microsoft Visual C++ Toolkit 2003
sakura/trunk#954でcommitしました.

2006/3/25 (土) 18:33:38 なむ  
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
[4339] Re6:Microsoft Visual C++ Toolkit 2003
▼ げんたさん
> >if not exist "$(OBJDIR)/$(NULL)" mkdir "$(OBJDIR)"
> の$(NULL) が無くても問題ないようですが...これは何なんでしょう?

VC6でエクスポートしたmakefileにあったもので、実は私もよくわかっていません...。
ともあれ、げんたさん、すすさん、ありがとうございました。

2006/3/26 (日) 03:04:56 もか  
INCM1.23c
[4342] Re7:Microsoft Visual C++ Toolkit 2003
>if not exist "$(OBJDIR)/$(NULL)" mkdir "$(OBJDIR)"
>> の$(NULL) が無くても問題ないようですが...これは何なんでしょう?
>VC6でエクスポートしたmakefileにあったもので、実は私もよくわかっていません...。

試してませんけど、$(BBJDIR)と同名のファイルがあった場合に違いがあるんじゃないでしょうか。
または、コードをみてファイルでなくてディレクトリの存在チェックであることを明示してるとか。

INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.010]