C++/CLIプロジェクトで定義されたネイティブクラスのメソッドをエクスポートするにはどうすればよいですか?ここで私が持っているものです。C++/CLIプロジェクトからネイティブタイプをエクスポート
.hファイル:
#pragma once
#ifdef COMPILE_PRODUCER_LIB
#define PRODUCER_LIB_EXPORT __declspec(dllexport)
#else
#define PRODUCER_LIB_EXPORT __declspec(dllimport)
#endif
public class PRODUCER_LIB_EXPORT MySecondNativeClass {
public:
MySecondNativeClass(int val);
int getValue() const;
private:
int m_value;
};
が.cppファイル:
#include "stdafx.h"
#include "MySecondNativeClass.h"
MySecondNativeClass::MySecondNativeClass(int val) {
this->m_value = val;
}
int MySecondNativeClass::getValue() const {
return this->m_value;
}
このクラスを使用して、同じプロジェクト内では正常に動作しますが、別の(Cでそれを使用する++/CLI)プロジェクトは私に "解決されていない外部シンボル"リンカエラーを与えます。 (COMPILE_PRODUCER_LIB
は、クラスを含むプロジェクトでのみ定義されたプリプロセッサの定義である。)問題(this pageの最後でダウンロード)を示し、私は(のVisual Studio 2010用)小型のソリューションを作成しました
。そこで、ネイティブクラスMySecondNativeClass
はプロジェクト "ManagedProviderLib"で定義されており、 "ExternalTestClass.cpp"(プロジェクト "ManagedExternalLib")で使用されています。
C++/CLIプロジェクトで定義されたネイティブクラスのメソッドをWHEREにエクスポートしますか?別のC++/Cliプロジェクト? C#プロジェクト?またはネイティブDLL。 –
申し訳ありませんが、十分に明確ではありません。それらをエクスポートして、別のC++/CLIプロジェクトで使用できるようにします。 –
少なくとも1つの "解決されていない外部シンボル"リンカーエラーまたは2つの全体を投稿できますか? –