0

私は自分自身をMFCにかなり鋭敏だと思っていますが、最近、オンラインで修正を見つけることができず、自分でそれを追跡することもできないという問題に遭遇しました...

問題は、今年の初めに書き戻したコードの一部が、iOSプロジェクトが立ち上がったために保留にされていたため、それを書くのに約5か月を費やし、今では戻る準備ができていることです。最後のプロジェクトに、しかしそれはコード腐敗に苦しんでいたようです。

問題は、Code Rotではなく、BuildEnvに実際に問題があることです。とにかくここで問題の焦点となるべきではないさまざまな理由で、私はVS2008を使用しています。

DEFAULT C ++ MFC(ネイティブ)アプリケーションを作成するとき、プロジェクトを作成し、ウィザードでFINISHを押してからビルドすると、コンパイラが最初のCPPファイルをコンパイルしているときにエラーが発生します。すべてのAFXヘッダーを含むstdafx.cppを正常にコンパイルしているように見えますが、最終的には「CDocument」が未定義であるというエラーが発生します...これで十分なMFCがわかったので、これは正しくないはずです。 ..

私はすべてのパス、INCLUDE、LIBなどをチェックしましたが、それらはすべて本質的に何であるかを指しています。

c:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE;c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE

WindowsSDKなどの一部のインクルードとともに。私が得ているエラーは、AFXWIN.HがATLMFC\INCLUDEフォルダーから来ていることを示しています。

それで、この時点で、私は多分私が何か他の問題を抱えていると仮定しなければなりませんか?何かがいくつかのMFCDLL、またはLIBを更新しましたが、おそらくそれらは更新されるべきではありませんか?

VS2008 Team Foundation DVD(en_visual_studio_team_system_2008_team_suite_x86_x64wow_dvd_X ##-####)からISOまたはDVDをインストールしようとすると、修復モードを起動しようとするとエラーが発生します...

これを追跡するのに役立つ拡張ログファイルがあるかどうかはわかりません。(少なくとも、VS2008インストールを「修復」しようとしたときにセットアッププログラムにエラーが発生したことについては...)

UACが有効になっていないWin7、x86で実行しています。他の誰かがこのような問題を抱えていましたか?

みんなありがとう。

4

1 に答える 1

0

私は問題を見つけました、そしてそれはとても悪いです、私はこの質問に答えたくありません、しかしこれは他の誰かに起こるかもしれないので私は私がより良いと思います。

この問題全体は、MFCをまったく使用していないプロジェクトを編集しているときに発生しましたが、DIDがMFCを使用しているプロジェクトのWORKSPACEに読み込まれました。ある時点で、Document to XmlDocumentに対して、「ファイル内の検索と置換」を実行しました。まあ、私はほとんど知りませんでした、それは私のINCLUDEパスに行き、そこでファイルも更新します。そのため、私のMFC「CDocument」はafxwin.hファイルで「CXmlDocument」に変更されました。(およびafxwin.inl)。約6か月前にそのプロジェクトを別のプロジェクトに振り向けたので、これを見つけるのに多くの検索が必要でした。MFCとwaddayaknowを使ったORIGINALプロジェクトに戻ってきました。コードロット。それ以来、私のPCに多くの変更が加えられたので、MFCの新しいバージョンがインストールされていると思いました。それで、存在しなかったCXmlDocumentのVS2010のインクルードパスを検索しました!そこで、「わかりました。CXmlDocumentは正規のMFCクラスではありません」と考えました。そこで、VS2010でCDocumentが宣言された場所を見つけ、それをVS2008にあったものと一致させました。それから私は何が起こったのかを理解し始めました。そこで、CXmlDocumentのすべてのインスタンスをCDocumentとBAMに置き換えました。コードは問題なくコンパイルされます...

したがって、今日のキッズの教訓は、ファイルを検索して置換する場合、使用する設定に注意を払い、変更されるファイルに細心の注意を払うことです。

この質問を読んでくださった皆さんに申し訳ありませんが、それを読むのに時間を無駄にしてしまいましたが、これについて私を助けてくれたことに感謝しています。みんな/ギャルありがとう。

于 2012-12-27T20:21:34.987 に答える