同じプロジェクトに関する以前の質問: oneとtwo。それらを読む必要はありません。Visual C++ プロジェクトでネイティブ C++ SDK を使用しようとしていることを知っておいてください。これは私が最初に考えていたよりもはるかに複雑ですが、マネージ コードを使用したネイティブ C++ プロジェクトの拡張に関するこの Web サイトは、すでに私を大いに助けてくれました。
最後のリンクの指示に従って、フォームをネイティブ C++ プロジェクトに追加しました。これにより、プロジェクトが自動的に CLR プロジェクトに変換されました。MainForm.cpp
ただし、 and Interface.cpp
(ネイティブ C++ コードが MainForm を作成および表示できるようにするファイル)のみが/clr
フラグ付きでコンパイルされます。他のファイルはネイティブのままです。
私が今抱えている問題は、Visual Studio が で使用されている CLR のものを認識していないように見えることですMainForm.h
。そのため、次の行で:
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
単語System
には常に赤の下線が引かれ、それに応じたエラーが表示されます。
error C2653: 'System' is not a class or a namespace name
それらの行ごとに。
gcnew
また、 CLR 内で問題なく動作するはずの単語やその他のものも認識しません。
誰が私が間違っているのか教えてもらえますか? 私の推測では、それは非常に小さなものだと思います。変更するのを忘れたフラグ、参照の欠落、または同様のものですが、それが何であるかわかりません。