◀ANSI版開発トップへ
  • 4158 VC++ 2005 Express Edition
    • 4160 Re:VC++ 2005 Express Edition
      • 4161 Re2:VC++ 2005 Express Edition
        • 4162 Re3:VC++ 2005 Express Edition
          • 4164 Re4:VC++ 2005 Express Edition
            • 4165 Re5:VC++ 2005 Express Edition
            • 4192 Re5:VC++ 2005 Express Edition
        • 4163 Re3:VC++ 2005 Express Edition
      • 4297 Re2:VC++ 2005 Express Edition
    • 4219 Re: VC++ 2005 Express Edition
    • 4634 削除
  • [4158] VC++ 2005 Express Edition dskoba 2005年11月22日 01:28

    ・VC++ 2005 Express Edition (英語版)
    ・Microsoft Platform SDK for Windows Server 2003 SP1 の Core SDK
    でReleaseビルドしてみました。

    結果:ビルドできない
    ・Core SDK には Shlwapi.h が入っていない
    ・CWSH.h のコンパイルに失敗する

    ログ:
    http://www2.wbs.ne.jp/~dskoba/sakura/buildlog.lzh
    [▼次
    • [4160] Re:VC++ 2005 Express Edition dskoba 2005年11月22日 01:57

      > ・Core SDK には Shlwapi.h が入っていない

      Web Workshop SDK に入っていました。
      • [4161] Re2:VC++ 2005 Express Edition dskoba 2005年11月22日 21:17

        > ・CWSH.h のコンパイルに失敗する

        CWSH.h の 40行目
        - operator = (const ImplementsIUnknown &);
        + const ImplementsIUnknown operator = (const ImplementsIUnknown &);
        とりあえずこれで。

        ・sakura_rc.rc で afxres.h が無いのでコンパイルできない

        これは,includeディレクトリに
        C:\Program Files\Microsoft Platform SDK\Include\mfc
        を追加することで解決しました。

        以上でビルドできました。
        • [4162] Re3:VC++ 2005 Express Edition dskoba 2005年11月22日 21:56

          > ・sakura_rc.rc で afxres.h が無いのでコンパイルできない
          これは
          - #include "afxres.h"
          + #include <windows.h>
          + #define IDC_STATIC -1
          でも良いようです。

          ビルドしたバイナリのサイズは
          ・サイズ優先(/O1)で824KB
          ・速度優先(/O2)で944KB
          という感じです。

          やっと最適化コンパイラでは無い VC++.NET(2002)から解放されそうです。
          • [4164] Re4:VC++ 2005 Express Edition ryoji 2005年11月23日 02:11

            dskobaさん、げんたさんへのマルチレスになります。m(__)m

            dskobaさんの報告とは別に修正版パッチ(1.5.8.0用)を
            作成していたので、Up しておきます。
            >>dev:4096 「1.5.8.0 プリコンパイル指定ミスってます」
            も関連しているので、その修正も込みです。
            http://groups.yahoo.co.jp/group/sakura-editor/files/Developer/Source/ssrc_2005-11-06_stdafx.zip

            >結果:ビルドできない
            数日前にMSDNサブスクリプションダウンロードに登録された、
            Microsoft Visual Studio 2005 Team Suite - JPN(リリース候補版)
            でもまったく同様な警告・エラーが出てました。
            警告が大量でウザいのでstdafx.hに
            +#if _MSC_VER >= 1400
            +#pragma warning( disable : 4996 )
            +#endif
            を追加してあります(下位コンパイラ互換も考慮)。
            CEditView.cpp(1979) : warning C4819
            の警告理由が不明だけど、特に問題は無さそうなので放置してあります。
            (ひょっとするとコンパイラのバグかもしれない)
            修正パッチは VC++6.0/2003/2005(Express, Team Suite) でコンパイル確認済みです。

            >>CWSH.h の 40行目
            >>operator = (const ImplementsIUnknown &);
            >これ戻り値の型が指定されていないから明らかに変ですよね.
            >なんでコンパイルエラーにならないんだろう?
            自分が持っている昔のC++の教科書には戻り値なしの例が掲載
            されてました。
            この部分は、
            「オブジェクトのコピーを禁止するのにコピーコンストラクタ
            と代入演算子は private で宣言のみ行う」というやつですね。
            私の修正では、
            - operator = (const ImplementsIUnknown &);
            + ImplementsIUnknown& operator = (const ImplementsIUnknown &);
            としてあります。

            > ビルドしたバイナリのサイズは
            > ・サイズ優先(/O1)で824KB
            これマジ?と思って確かめてみました。
            Team Suiteでも同じサイズになってます!
            ポータビリティも重要なので、これは嬉しいですね!!
            通常、速度優先よりも安定性が高く、サイズが小さくなることで
            むしろキャッシュ効率が良くなって速くなる場合もあるらしい。
            MSも自社製品はこっちでリリースしていると聞きますし、
            これをデフォルト設定にしても良さそうですね。

            > やっと最適化コンパイラでは無い VC++.NET(2002)から解放されそうです。
            Express は無料提供というのが信じられないくらい充実してますね。
            あとは MFC を付けろとまでは言わないけど、
            Win32用のGUIなリソースエディタが付けば...
            • [4165] Re5:VC++ 2005 Express Edition ryoji 2005年11月23日 02:41

              以下、覚え書きです。
              > >>dev:4096 「1.5.8.0 プリコンパイル指定ミスってます」
              > も関連しているので、その修正も込みです。

              これは .dsp と一部stdafx.hのincludeが抜けていた部分の修正です
              デフォルト: プリコンパイル済みヘッダー ファイルを使用する (/Yu)
              stdafx.cpp: プリコンパイル済みヘッダーを作成する (/Yc)
              MY_SP.C: プリコンパイル済みヘッダーを使用しない
              etc_uty.cpp: プリコンパイル済みヘッダーを使用しない
              の設定にしてあります。
              MY_SP.C は CコンパイルなのでC++ヘッダーが適用不可。
              etc_uty.cpp はこれだけ #define COMPILE_NEWAPIS_STUBS に
              する必要があるので除外、ということです。

              VC++ 2005 では、「プリコンパイル済みヘッダーの自動使用(/YX)」
              という設定が無くなった模様。
              また、コンパイル時のC/C++ライブラリもシングルスレッド版が
              無くなっており、プロジェクトの変換時にマルチスレッド版に
              自動的に変換されています。
            • [4192] Re5:VC++ 2005 Express Edition ryoji 2005年12月01日 20:26

              > CEditView.cpp(1979) : warning C4819
              > の警告理由が不明だけど、特に問題は無さそうなので放置してあります。
              > (ひょっとするとコンパイラのバグかもしれない)

              >>dev:4191 と類似してますが、こちらは新たに Product Feedback Center に報告を出しておきました。
              http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=6b6882e2-f052-46c6-85ca-086ff897b769
        • [4163] Re3:VC++ 2005 Express Edition げんた 2005年11月23日 00:55

          >CWSH.h の 40行目
          >operator = (const ImplementsIUnknown &);
          これ戻り値の型が指定されていないから明らかに変ですよね.
          なんでコンパイルエラーにならないんだろう?
      • [4297] Re2:VC++ 2005 Express Edition みく 2006年03月12日 14:37


        久々に時間できたのでインストールしてみた。

        CProfile.cpp
        MAP_STR_STR_ITER
        がエラーなのはDEBUGなのでコメントアウトしてみた。
        でも、

        sakura - エラー 1193、警告 0
        ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

        こりゃWinAPIが全部リンクエラーだわ。

        Platform SDK もインストールしてるし、パスも設定したのに
        リンクエラーになるんですけど。


        .NET Framework関係でも変なエラー出てるし、インストールするんじゃなかったと反省...
    • [4219] Re: VC++ 2005 Express Edition げんた 2006年01月08日 20:51

      >・Core SDK には Shlwapi.h が入っていない
      CDlgTagJumpList.cppでインクルードされていますが,それをコメントアウトしても問題なくコンパイルできたのでたぶん不要だと思います.コメントアウトしておきますね.
    • [4634] 削除 管理者 2006年11月16日 15:17

      -