6

マネージド c++ クラスを使用してネイティブ cpp クラスをラップしようとしています。

すべて問題ないように見えますが、何らかの理由でコンパイルできません。

次のリンカー エラーが発生します。

エラー 25 エラー LNK2028: 未解決のトークン (0A0002CE) エラー 27 エラー LNK2019: 未解決の外部シンボル

これを修正するにはどうすればよいですか?:\

さて、これは関数の1つの完全なエラーです:

エラー 20 エラー LNK2028: 未解決のトークン (0A0002CF) "public: bool __thiscall RCSclient::ResumeChannel(char *,int,__int64)" (?ResumeChannel@RCSclient@@$$FQAE_NPADH_J@Z) 関数で参照されている "public: bool __clrcall RCSClientWrapper ::RCSclientWrapper::ResumeChannel(class System::String ^,int,class System::DateTime ^)" (?ResumeChannel@RCSclientWrapper@RCSClientWrapper@@$$FQ$AAM_NP$AAVString@System@@HP$AAVDateTime@4@ @Z) RCSClientWrapper.obj RCSClientWrapper

結果なしでuser32.libを追加しようとしました..

オファー

4

2 に答える 2

3

C++/CLI を使用すると、ネイティブ C++ をほぼ自由に混在させることができますが、C++/CLI を使用すると、アプリが .NET フレームワークに依存するようになります。

その理由は、C++/CLI プロジェクトにいくつかのライブラリ (たとえば、user32.lib) がリンカ入力に設定されていないためです。.NET フレームワークが既に同様のサービスを提供しており、IDE は、古いものよりもそれらを優先すると想定しているためです。ネイティブのもの。

プロジェクトを確認し、対応するライブラリへの参照を追加してください。

于 2009-04-06T13:21:50.077 に答える
0

マネージ ラッパーから呼び出すネイティブ C++ ヘッダー関数宣言に virtual キーワードを忘れたのかもしれません!?

于 2011-06-16T12:17:38.523 に答える