Hidetaka Iwai
tyuyu****@sabis*****
2006年 11月 11日 (土) 16:10:05 JST
岩井です。御無沙汰しております。 At Wed, 13 Sep 2006 10:02:56 +0900, Hiroyuki Ikezoe wrote: > > kazehakase-0.4.0 でも同じようなビルドエラーが出ます。 > > エラーの内容と周辺のコードを対照すると > > kz-mozlauncher.cpp:66-72 > > > NS_IMETHODIMP KzContentHandler::Show(nsIHelperAppLauncher *aLauncher, > > > nsISupports *aContext, > > > #ifdef HAVE_GECKO_1_8 > > > PRUint32 aForced) > > > #else > > > PRBool aForced) > > > #endif > > ここの部分のチェックは、作った時から気になってはいたんですが、うまいやり > 方がわからずにいい加減なままにしてましたが、ちょうどいい機会だったので、 > GCCのオプションと格闘して、ちゃんとしたチェックに直しました。 ここの code ですが、-Wconversion -Wsign-compare -Werror で暗黙の型変換 を error にしておいて AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include <nsIHelperAppLauncherDialog.h>]], [[nsIHelperAppLauncherDialog *p; p->Show (nsnull, nsnull, -1);]] )], [AC_DEFINE([MOZ_NSIHELPERAPPLAUNCHERDIALOG_NSPRBOOL_],[1],[Define if nsIHelperAppLauncharDialog uses PRBool]) result=yes], [result=no]) で p->Show (nsnull, nsnull, -1) の第3引数で -1 が通らなければ第3引数は PRBool, 通れば PRUint32 という判定をしていると思うんですが、その後の action-if-true と action-if-false の内容が逆ではないですか? あと -Werror があると warning: 'class nsISupports' has virtual functions but non-virtual destructor といった警告が全て error 扱いにな るので、その後の gecko の API check(例えば nsIFilePicker::SetDefaultString() の引数チェック)に軒並み失敗してしまい、 風博士がビルドできません(これは xulrunner の問題かも) regards, -- Hidetaka Iwai tyuyu****@sabis*****