2011-04-11 1 views
0

Я переношу решение из Visual Studio 2005 (Windows XP) в Visual Studio 2008 (Windows 7). Решение содержит несколько библиотек классов (dll). Эти библиотеки написаны на C#. Однако одна библиотека (называемая «SDEWriter») написана на C++. Эта библиотека представляет собой проект CLR и ссылки на внешние библиотеки, написанные на языке C. Я не имею доступа к C-коду.Ошибка компоновщика (2028) при переносе проекта из VS 2005 (XP) в VS 2008 (Windows 7)

Компиляция и компоновка проекта в VS 2005 прошла отлично. Но в VS 2008, я получаю следующее сообщение об ошибке компоновщика:

* ошибка LNK2028: неразрешенный токенов (0A00000E) "Экстерн "C" долго __stdcall SE_error_get_string (длинный, символ *)" (SE_error_get_string @@ $$ J18YGJJPAD @ Z) ссылки в функции "общественность: статическая BOOL __clrcall SDEWriter :: SDEfuncs :: Ошибка (длинная, класс станд :: basic_string, класс станд :: распределитель>)" *

Что интересно: когда я делаю «SDEWriter «статическая библиотека (lib) вместо dll, все работает отлично !!!

Некоторая дополнительная информация о "SDEWriter" свойствах проекта:

  • Common Language Runtime Support: Старый синтаксис (/ CLR: oldSyntax)
  • Additional Include Directories: путь к включают папку внешнего C файлы заголовки
  • дополнительных Libary Каталогов: путь к внешнему LIBS
  • дополнительных зависимостей: все необходимому внешний ЛИЭС

Я искал этот сайт и в Интернете, но я не нашел решение. Я был бы очень рад, если бы кто-нибудь мог помочь! Заранее большое спасибо.

Barbara

ответ