2005/11/22 (火) 01:28:24 dskoba  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4158] VC++ 2005 Express Edition
・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
[▼次

2005/11/22 (火) 01:57:13 dskoba  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4160] Re:VC++ 2005 Express Edition
> ・Core SDK には Shlwapi.h が入っていない

Web Workshop SDK に入っていました。

2005/11/22 (火) 21:17:08 dskoba  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4161] Re2:VC++ 2005 Express Edition
> ・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
を追加することで解決しました。

以上でビルドできました。

2005/11/22 (火) 21:56:49 dskoba  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4162] Re3:VC++ 2005 Express Edition
> ・sakura_rc.rc で afxres.h が無いのでコンパイルできない
これは
- #include "afxres.h"
+ #include <windows.h>
+ #define IDC_STATIC -1
でも良いようです。

ビルドしたバイナリのサイズは
・サイズ優先(/O1)で824KB
・速度優先(/O2)で944KB

という感じです。

やっと最適化コンパイラでは無い VC++.NET(2002)から解放されそうです。

2005/11/23 (水) 02:11:20 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4164] Re4:VC++ 2005 Express Edition
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なリソースエディタが付けば...

2005/11/23 (水) 02:41:06 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4165] Re5:VC++ 2005 Express Edition
以下、覚え書きです。
> >>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++ライブラリもシングルスレッド版が
無くなっており、プロジェクトの変換時にマルチスレッド版に
自動的に変換されています。

2005/12/1 (木) 20:26:09 ryoji  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
[4192] Re5:VC++ 2005 Express Edition
> CEditView.cpp(1979) : warning C4819
> の警告理由が不明だけど、特に問題は無さそうなので放置してあります。
> (ひょっとするとコンパイラのバグかもしれない)


>>dev:4191 と類似してますが、こちらは新たに Product Feedback Center に報告を出しておきました。
http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=6b6882e2-f052-46c6-85ca-086ff897b769

2005/11/23 (水) 00:55:47 げんた  
INCM1.23c
[4163] Re3:VC++ 2005 Express Edition
>CWSH.h の 40行目
>operator = (const ImplementsIUnknown &);

これ戻り値の型が指定されていないから明らかに変ですよね.
なんでコンパイルエラーにならないんだろう?

2006/3/12 (日) 14:37:54 みく  
INCM1.23a
[4297] Re2:VC++ 2005 Express Edition

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

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

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

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

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


.NET Framework関係でも変なエラー出てるし、インストールするんじゃなかったと反省...

2006/1/8 (日) 20:51:21 げんた  
INCM1.23c
[4219] Re: VC++ 2005 Express Edition
>・Core SDK には Shlwapi.h が入っていない
CDlgTagJumpList.cppでインクルードされていますが,それをコメントアウトしても問題なくコンパイルできたのでたぶん不要だと思います.コメントアウトしておきますね.

2006/11/16 (木) 15:17:02 管理者  
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[4634] 削除
-

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