- - PR -
C4819が出現してコンパイルできない
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-11-02 22:10
ん???それは、応対窓口の人が、なんか間違っているような気がする。 あるいは、どの窓口に連絡しましたか?
このように、MSDN サブスクリプションは関係ありません。 もっとも、MSDN サブスクリプションに、いくつかのサポートインシデントが付いています<microsoft.com>ので、それのことを指しているのかも知れません。 ところで、HotFix を適用して問題が解決するかどうかという判断と、混同していませんか? こちらは、インシデントが必要です。 ただし、HotFix の適用で解決できるという判断がされると、インシデントは取り消されます。 おそらく、あなたが「使うか使わないかの判断」をするための情報をもらおうとして、別途 MSDN サブスクリプションの契約が必要だと言われたのだと思います。 そうであるなら、あなたが判断するための情報は、KB に、すでにでていますよね(いや、十分だとは言わない。むしろ、足りなすぎる)。 マイクロソフトのオペレータは、あなたの環境で HotFix が有効かどうかの判断をするための情報、すなわち、あなたの環境を聞いて、マイクロソフトに集まっている情報と照らし合わせるという行為に対して、契約が必要だと言っているのだと思います。 適用することで「直るかどうか」の判断には、テクニカル サポート インシデントが必要です。これは単体で発行することもできますが、MSDN サブスクリプションを購入していれば、いくつか付属しています。 この判断の後、HotFix の適用で直る、HotFix の範囲外だが製品のバグである、ということがわかれば、インシデントは取り消され、消費しません。HotFix とは関係がないことがわかれば、インシデントが消費されます。 なので、まずは HotFix を適用してみることをおすすめします。 それで直らなかったときに、テクニカル サポートを受ければいいでしょう。 あと、MSDN サブスクリプションの、適用可能な範囲については、確認が必要かと思います。 海外拠点も含めて全社的に購入しているなら、アメリカで契約しているものでも有効でしょうが、部署ごとに契約しているなら、契約違反になるかもしれません。 (つか、そういうことは、ここには書かない) ところで、アメリカ製のコンポーネントを購入して、その EULA ファイルを見て驚きました。エディタには Shift-JIS と判定されているのですが、日本語に化けてる。。。 じつは。。。 ASCII は Shift-JIS に含まれるので、ASCII だけで書かれていると、コード判定ができないんですね。 ついでに、ファイルをすべてなめて文字コードを判定しているソフトは、まず無いでしょう。先頭の何バイトかだけで判定していると思います。 その範囲に EUC や UTF-16 の特徴を示すコードがなければ、UTF-8 か ASCII、Shift_JIS と判断されるわけです。 例えば、EUC_JP の場合、「美乳」という文字を最初の方に含んでおけば、日本の環境ではほぼ EUC_JP と判断されます。 私が見たファイルは、後ろの方にフランス語かスペイン語と思われる言葉が書かれていて、そこが化けていました。 発音記号付きの文字が Shift_JIS で解釈され、化けていたんですねぇ。 もし、そこまで読んでいたとしても、日本のソフトですから、日本で使用されるコードと一致するかどうかしか見ないでしょう。 当然、そういう文字は Shift_JIS では「表示不可能」と判断されるでしょうし、日本語 Windows 環境では、表示されないので存在に気づかないでしょう。 私は IE でテキストを表示させ、エンコードを「西ヨーロッパ」にして確認しました。 こういうものの場合、HotFix を適用しても直らないと思います。 遅くに申し訳ないですが。
/WX を取ると、オブジェクト ファイルは作成されます。 警告があっても、オブジェクトは作成されます。 問題は、その警告が、どの程度重大な問題だと判断するか、ではないでしょうか? 少なくとも、英語 OS + 英語 VS ではコンパイルが通っているんですよね? ということは、たぶんではなく、確実に日本語 OS 固有の問題ではないでしょうか? 引用されているフィードバックは、「Product Language : Japanese」となっています。 これは、日本語 OS + 英語 VS ではなく、日本語 OS + 日本語 VS でしょう。 また、回避策には英語 VS では正常に動作したと書かれています。 環境が違うので、同じ問題であるとは言いにくいでしょう。
半日ほどですみます。いや、SP1 当てるのにかなり時間がかかるから、1日かな? それを「多大」と判断するかどうかは、人それぞれですけど。 それとも、Virtual PC というプロダクトをご存じでない? あなたが普段使う環境を壊さず、別の OS を用意できますが、それでは足りませんか? | ||||||||||||||||
|
投稿日時: 2007-11-03 08:00
Jittaさん
適切な回答ありがとうございます。 おそらくこれは日本語OS+英語VS固有の問題です。 そして2003ではなく2005での固有の問題のようです。 文字コードについて これはC4819だけの膨大なワーニングが出現していましたが、 最終的に本当に文字化けがしてないかどうか調べてみたところ いくつかのファイルで起こっており、それを消すとそのファイルからは ワーニングが出なくなりました。 また、同様に他のファイルも調べてみたところ文字化けは起こってませんでしたが すべてのコメント部分を消して再度コンパイルしたところ通るようになりました。 これは明らかに日本語OS+英語VS固有の問題です。 現在、MSに調べてもらってますが(手続きばかりで技術者と話せてない、まだ回答がない) 今のところそのような特殊事情が原因のようです。 ちなみにこれらはBOOSTのヘッダ部分ででています。 そしてコメント部分に「登」などの文字を発見しました。 ヴァーチャルPCについて 昔VMWAREを使っていました。そしてメモリが十分あれば、結構有用でした。 が、正直、開発者はすべてアメリカ人のなかで僕しか日本人がいないため この特殊要項があり、VMWAREを買ってくれと説得できるかどうかはちょっとまだわかんないですが、、(アメリカ人は自分にない問題をただ、なぜできないんだと攻めることのほうが多い)またこの問題が発生するなら、もしくはしないように方法を探してみます。 | ||||||||||||||||
|
投稿日時: 2007-11-03 21:03
VMWare Player なら無料です。
http://www.vmware.com/jp/products/player/ 単体で Windows 環境を作ることはできませんが、公開されているあるファイルを落としてきて、・・・ Virtual PC 2007 も無料です。 http://www.microsoft.com/japan/windows/virtualpc/default.mspx こちらは Windows 環境を作ることもできます。 どちらも、仮想環境に仮想環境用のソフトをインストールしないと使い物にならないくらい遅いです... 私は、実機が 1GB のメモリを積んでいる環境で、Virtual PC (Windows XP)に 128MB のメモリを割り当てて、快適に使えています。
おかしいですね。私の時は、手続きは電話で済んで、すぐに技術者の方とお話しできましたよ? あ、MSDN のテクニカル サポートでしたね。こちらは、「緊急のトラブル対応」が付いていませんので、そのためかもしれません。 というわけで、MSDN サブスクリプションを申し込んでいて、まだテクニカル サポートを受けていない方。早めに手続きだけしておきましょう。 | ||||||||||||||||
|
投稿日時: 2007-11-03 22:29
BOOSTのヘッダ部分がVS2005のどのファイルかわかりませんが 要約すると 英語版で作成した ASCII(00-7F)のみ使用しているソースコードを 日本語OSとVS2005(英語版)で使用すると ソースコードにASCII(00-7F)以外が含まれるようになり 文字コードによるエラーが発生した ということでしょうか? [ メッセージ編集済み 編集者: 99ri 編集日時 2007-11-03 22:39 ] | ||||||||||||||||
|
投稿日時: 2007-11-04 01:33
俺もそれが気になる。
英語なのに日本語で文字化けってどういうことなんだろう。 文字コードで誤動作する経験は確かにあったけどVS2005じゃなかったな。 ウムラウトでもあるんかな。 | ||||||||||||||||
|
投稿日時: 2007-11-04 04:04
これを最初に書いてればすぐに原因がわかったんですけどね。「boost C4819」で検索するとたくさん事例が見れますよ。 この問題は VS のバグではありません。期待どおりの動作です。 | ||||||||||||||||
|
投稿日時: 2007-11-04 05:47
ところで
OS英語、IDE英語はOK OS日本語、IDE英語はNG ってことはIDEはOSの設定でも見て動作を変えているの? | ||||||||||||||||
|
投稿日時: 2007-11-05 00:14
冷静に考えてみよう。 OSが日本語と英語に分かれているということは、厳密な意味では双方が同じOSと言うわけではない。 何故なら、厳密な意味で同一であるならば、日本語版と英語版というように別々に作って販売する必要が無いからだ。 ソフトウェアが英語と日本語と分かれているということは、対象OSを同じ言語のOSへとカスタマイズされている可能性が高い。 なぜならば、カスタマイズしていないならわざわざ日本語版と英語版というように分ける必要が無いからだ。 上記二つの事より、日本語版+英語版というように交差してインストールすれば、そのカスタマイズ部分で問題が発生する可能性があるのは一目瞭然ではないだろうか? どこで発生するかは、実際に組み合わせて試して見ないとわからないという部分はあるけどね |