Я пытаюсь обернуть класс C ++ "OpenViBE :: Kernel :: CPlayer" в приложение Managed C ++, чтобы позже я мог использовать его в C #.
#include "stdafx.h"
#include "ovkCPlayer.h"
using namespace System;
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
const OpenViBE::Kernel::IKernelContext* r=nullptr;
OpenViBE::Kernel::CPlayer* c=new OpenViBE::Kernel::CPlayer(*r);
//c->initialize();
return 0;
}
Приведенный выше код компилируется, этоно не связывает.«OpenViBE :: Kernel :: CPlayer» находится в проекте «OpenViBE-kernel-dynamic».Я нашел, где находится файл lib из Свойства-> Компоновщик-> Дополнительно-> Импортировать библиотеку.Затем я добавил эту папку в путь к lib моего проекта (см. Выше) и файл «OpenViBE-kernel-dynamic.lib» в Linker-> Input-> Дополнительные зависимости.
Итак, файл lib есть,но компоновщик все равно не может связать его:
ошибка LNK2019: неразрешенный внешний символ "public: __thiscall OpenViBE :: Kernel :: CPlayer :: CPlayer (класс OpenViBE :: Kernel :: IKernelContext const &)" (?? 0CPlayer @ Kernel @ OpenViBE @@ $$ FQAE @ ABVIKernelContext @ 12 @@ Z) ссылка на функцию ...
У меня нет опыта в написании приложений на C ++ / CLI, поэтому я думаю, что что-то упустил.