マネージCを使用してネイティブC ++クラスをラップしようとしたとき、私はLNK2028を取得する++
-
05-09-2019 - |
質問
マネージC ++クラスを使用して、ネイティブのcppのクラスをラップしようとしています。
すべてがよさそうだが、何らかの理由でそれは文句を言わないコンパイルします。
次のリンカエラーを取得します:
エラー25エラーLNK2028:未解決のトークン(0A0002CE) エラー27エラーLNK2019:未解決の外部シンボル
すべてのアイデアはどのように私はこの1つを解決するのですか? :\
さて、ここでの機能の一つの完全なエラーがあります
エラー20エラーLNK2028:未解決のトークン(0A0002CF):機能「公共の場で参照 "パブリックブール__thiscall RCSclient :: ResumeChannel(のchar *、int型、__ int64型)"(?ResumeChannel @ RCSclient @@ $$ FQAE_NPADH_J @ Z): BOOL __clrcall RCSClientWrapper :: RCSclientWrapper :: ResumeChannel(クラスシステム::文字列^、int型、クラスシステム::日時^)」(?ResumeChannel @ RCSclientWrapper @ RCSClientWrapper @@ $$ FQ $ AAM_NP $ AAVStringシステム@ @@ HP $ AAVDateTime @ 4 @@ Z)RCSClientWrapper.obj RCSClientWrapper
なしの結果でuser32.libを追加しようとしました..
オフェル
解決
C ++ / CLIは、ことができます ネイティブC意志でほとんど++が、C ++ / CLIを使用してアプリケーションを作るに混合します .NETフレームワークに依存します。
リンカ入力でその理由は、(例では、user32.lib)いくつかのLIBSを持っていないあなたのC ++ / CLIのプロジェクトでセットアップは、.NETフレームワークは、すでに同様のサービスを提供することである、と IDEは古い、ネイティブのものにそれらを好むことを前提としています。
プロジェクトを確認し、対応するライブラリへの参照を追加します。
他のヒント
たぶん、あなたはネイティブのC ++ヘッダー関数宣言にvirtualキーワードを忘れてしまいました マネージラッパーからの呼び出しに!?