C++/CLI で g++ を使用してコンパイルされた静的ライブラリをラップすることは可能ですか?
これが私の試みです:
アンマネージ C++
#include <string>
class Person
{
public:
Person(void);
~Person(void);
void Print(std::string, std::string);
};
C++/CLI
#pragma once
#include <Person.h>
#pragma comment (lib, "VS-Person.lib")
//#pragma comment (lib, "GPPPerson.lib")
namespace CppWrapper {
public ref class PersonWrapper {
private:
Person* m_person;
protected:
public:
PersonWrapper(); // Doing 'm_person = new Person();'
~PersonWrapper();
};
}
VS2010 ソリューション (VS-Person.lib) でコンパイルされた lib を使用すると、完全に動作しますが、g++ でコンパイルされた lib (GPPPerson.lib) を使用すると、次のエラーが発生しました。
error LNK2028: jeton non résolu (0A00032D) "public: __thiscall Person::Person(void)" (??0Person@@$$FQAE@XZ) référencé dans la fonction "public: __clrcall CppWrapper::PersonWrapper::PersonWrapper(void)" (??0PersonWrapper@CppWrapper@@$$FQ$AAM@XZ)
error LNK2019: symbole externe non résolu "public: __thiscall Person::Person(void)" (??0Person@@$$FQAE@XZ) référencé dans la fonction "public: __clrcall CppWrapper::PersonWrapper::PersonWrapper(void)" (??0PersonWrapper@CppWrapper@@$$FQ$AAM@XZ)
私は何か見落としてますか?C++/CLI で g++ でコンパイルされたアンマネージ ライブラリをラップするにはどうすればよいですか?
ありがとう、