Я пытаюсь обернуть неуправляемую DLL C ++ управляемой C ++, и у меня продолжают появляться ошибки компоновки.
, хотя я включаю мой library.lib в проект и включаю правильный заголовочный файл.
Это управляемый класс:
#pragma once
#include "..\Terminal\Terminal.h"
public ref class ManagedTerminal
{
private:
Terminal * m_unTerminal;
public:
ManagedTerminal(void)
{
m_unTerminal = new Terminal();
}
};
и это неуправляемый класс:
#include "..\Core1.h"
#include "..\Core2.h"
__declspec(dllexport) class Terminal
{
private:
CoreObj m_core;
public:
Terminal();
void Init(char* path, char* filename);
void Start();
void Stop();
void Run();
Array<Report> GetSnapshot();
~Terminal(void);
};
и ошибки, которые я получаю:
Ошибка 5, ошибка LNK2028: неразрешенный токен (0A0000B3) «public: __thiscall Terminal :: Terminal (void)» (?? 0Terminal @@ $$ FQAE @ XZ), на который ссылается функция «public: __clrcall ManagedTerminal :: ManagedTerminal (void) ) "(?? 0ManagedTerminal @@ $$ FQ $ AAM @ XZ) ManagedTerminal.obj TerminalWrapper
Ошибка 6, ошибка LNK2019: неразрешенный внешний символ «public: __thiscall Terminal :: Terminal (void)» (?? 0Terminal @@ $$ FQAE @ XZ), на который ссылается функция «public: __clrcall ManagedTerminal :: ManagedTerminal (void)» (?? 0ManagedTerminal @@ $$ FQ $ AAM @ XZ) ManagedTerminal.obj TerminalWrapper
Может кто-нибудь сказать мне, что не так?
спасибо:)