是否可以在 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++(GPPPerson.lib)编译的 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++ 编译的非托管库?
谢谢,