Невозможно связать в приложении C ++ / CLI - PullRequest
0 голосов
/ 25 февраля 2012

Я пытаюсь обернуть класс 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, поэтому я думаю, что что-то упустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...