Я получаю LNK2028 при попытке обернуть собственный класс c ++ с помощью управляемого c ++

StackOverflow https://stackoverflow.com/questions/721387

  •  05-09-2019
  •  | 
  •  

Вопрос

попытка обернуть собственный класс cpp с помощью управляемого класса c ++.

все выглядит хорошо, но по какой-то причине это не компилируется.

получение следующих ошибок компоновщика:

Ошибка 25 ошибка LNK2028:неразрешенный токен (0A0002CE) Ошибка 27 ошибка LNK2019:неразрешенный внешний символ

Есть идеи, как мне это исправить?:\

ну, вот полная ошибка одной из функций:

Ошибка 20 ошибка LNK2028:неразрешенный токен (0A0002CF) "общедоступный:bool __этот вызов RCSclient::ResumeChannel(char *,int,__int64)" (?ResumeChannel@RCSclient@@$$FQAE_NPADH_J@Z), на который ссылается функция "public:bool __clr вызывает RCSClientWrapper::RCSclientWrapper::ResumeChannel(система классов::Строка ^,int, система классов::Дата-время ^)" (?ResumeChannel@RCSclientWrapper@RCSClientWrapper@@$$FQ$AAM_NP $ AAVString@System@@HP$AAVDateTime@4@@Z) RCSClientWrapper.obj RCSClientWrapper

Пытался добавить user32.lib безрезультатно..

Офер

Это было полезно?

Решение

C ++ / CLI позволяет вам смешивать родной C ++ в значительной степени по желанию, но использование C ++ / CLI делает ваше приложение зависимым от .NET framework.

Причина в том, что в вашем проекте C ++ / CLI нет некоторых библиотек (например, user32.lib), настроенных во входных данных компоновщика так, что .NET framework уже предоставляет аналогичные сервисы, и IDE предполагает, что вы предпочитаете их более старым, встроенным.

Проверьте свой проект и добавьте ссылку на соответствующую библиотеку.

Другие советы

Может быть, вы забыли ключевое слово virtual в объявлении функции заголовка native C ++ для вызова из управляемой оболочки!?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top