◀ANSI版開発トップへ
  • 3754 Microsoft Visual C++ Toolkit 2003
    • 3766 Re:Microsoft Visual C++ Toolkit 2003
    • 3768 Re:Microsoft Visual C++ Toolkit 2003
    • 3770 Re:Microsoft Visual C++ Toolkit 2003
      • 3771 Re2:Microsoft Visual C++ Toolkit 2003
      • 3772 makefile (Re2:Microsoft Visual C++ Toolkit 2003)
        • 3774 Re:makefile (Re2:Microsoft Visual C++ Toolkit 2003)
        • 3776 Re:makefile (Re2:Microsoft Visual C++ Toolkit 2003)
          • 3777 Re2:makefile (Re2:Microsoft Visual C++ Toolkit 2003)
    • 4110 Re:Microsoft Visual C++ Toolkit 2003
      • 4300 Re2:Microsoft Visual C++ Toolkit 2003
        • 4303 Re3:Microsoft Visual C++ Toolkit 2003
        • 4326 Re3:Microsoft Visual C++ Toolkit 2003
          • 4330 Re4:Microsoft Visual C++ Toolkit 2003
            • 4334 Re5:Microsoft Visual C++ Toolkit 2003
              • 4335 Commit: Re6:Microsoft Visual C++ Toolkit 2003
              • 4339 Re6:Microsoft Visual C++ Toolkit 2003
                • 4342 Re7:Microsoft Visual C++ Toolkit 2003
  • [3754] Microsoft Visual C++ Toolkit 2003 げんた 2004年10月02日 13:37

    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入れるのもちょっと...
    • [3766] Re:Microsoft Visual C++ Toolkit 2003 すす 2004年10月18日 12:25

      ▼ げんたさん
      > 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;


      ではでは
    • [3768] Re:Microsoft Visual C++ Toolkit 2003 すす 2004年10月20日 10:32

      ▼ げんたさん

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

    • [3770] Re:Microsoft Visual C++ Toolkit 2003 すす 2004年10月21日 18:59

      ▼ げんたさん
      > 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%

      • [3771] Re2:Microsoft Visual C++ Toolkit 2003 すす 2004年10月21日 19:02

        参考にならないかも知れないけど。。。

        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

        こんな感じです
      • [3772] makefile (Re2:Microsoft Visual C++ Toolkit 2003) げんた 2004年10月22日 03:45

        自分の所には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使用時にオブジェクトファイルが専用のディレクトリに入るようにしてみましたがちょっと不完全です.

        ところでリソースコンパイルが参考例に入っていなかったのがちょっと気になったのですが...
        • [3774] Re:makefile (Re2:Microsoft Visual C++ Toolkit 2003) すす 2004年10月22日 12:52

          ▼ げんたさん
          > 自分の所には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
          です
        • [3776] Re:makefile (Re2:Microsoft Visual C++ Toolkit 2003) すす 2004年10月28日 10:37

          ▼ げんたさん
          yahooの共有フォルダにあるmakefile.nでコンパイルしてみました
          リソースがうまくコンパイルできてないのとclean時に一部ファイルが残る
          以外は問題ないようです

          リソースがうまくコンパイルできない
           ->55行目あたりにRC=rc.exeを入れるか環境変数で設定してしまう
          make clean時に一部ファイルが残る
           ->以下の行を追加
          -erase .\*.idb
          -erase .\*.pch
          *.idbは何のファイルかわからないですが*.pchはプリコンパイル済みヘッダーです
          • [3777] Re2:makefile (Re2:Microsoft Visual C++ Toolkit 2003) すす 2004年10月28日 14:51

            ▼ すすさん
            > ▼ げんたさん
            自分で余計なオプション書いておいて恐縮なのですが
            RFLAGS=/l 0x411 /d "NDEBUG" /I "$(SRCDIR)"
            だけでいいようです
    • [4110] Re:Microsoft Visual C++ Toolkit 2003 すす 2005年11月11日 18:21

      ▼ げんたさん

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

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

      気が向いたら、共有フォルダにあるものを差し替えてください。
      • [4300] Re2:Microsoft Visual C++ Toolkit 2003 げんた 2006年03月17日 16:33

        >気が向いたら、共有フォルダにあるものを差し替えてください。
        気が向いたときは,既に削除されていたりして...ぐすん

        とりあえず自分で修正して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を置き換えたいのですが,だれか確認してくれる方いませんか.
        • [4303] Re3:Microsoft Visual C++ Toolkit 2003 げんた 2006年03月18日 02:14

          >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
        • [4326] Re3:Microsoft Visual C++ Toolkit 2003 すす 2006年03月22日 13:16

          ▼ げんたさん
          > >気が向いたら、共有フォルダにあるものを差し替えてください。
          > 気が向いたときは,既に削除されていたりして...ぐすん
          すみません。
          ちょっといろいろあって非公開にしたままでした。

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

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

          > オブジェクトを格納するディレクトリが存在しないときに自動生成させる方法がわからないので,とりあえずは手動で予め作るしか無さそうです.
          確かに
          • [4330] Re4:Microsoft Visual C++ Toolkit 2003 なむ 2006年03月24日 01:06


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


            --- 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
            • [4334] Re5:Microsoft Visual C++ Toolkit 2003 げんた 2006年03月25日 10:59

              >ターゲットにディレクトリをいれるのはどうですか?
              おお,うまくいきました.ありがとうございます.

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

              新しいMakefile
              https://sourceforge.net/tracker/index.php?func=detail&aid=1455184&group_id=12488&atid=312488
              と,すすさんのバッチファイルでさくっとコンパイルできました.
              • [4335] Commit: Re6:Microsoft Visual C++ Toolkit 2003 げんた 2006年03月25日 11:35

                sakura/trunk#954でcommitしました.
              • [4339] Re6:Microsoft Visual C++ Toolkit 2003 なむ 2006年03月25日 18:33

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

                  >if not exist "$(OBJDIR)/$(NULL)" mkdir "$(OBJDIR)"
                  >> の$(NULL) が無くても問題ないようですが...これは何なんでしょう?
                  >VC6でエクスポートしたmakefileにあったもので、実は私もよくわかっていません...。
                  試してませんけど、$(BBJDIR)と同名のファイルがあった場合に違いがあるんじゃないでしょうか。
                  または、コードをみてファイルでなくてディレクトリの存在チェックであることを明示してるとか。