Что я должен сделать, чтобы перекомпилировать мою статическую библиотеку (изначально написанную на VS6) в visual studio 2008? - PullRequest
0 голосов
/ 18 июня 2010
  • Существует статическая библиотека A с классами c ++, обернутыми C API в VS6.
  • Я разработал статическую библиотеку B в VS6, используя обратные вызовы из библиотеки A.
  • Библиотека B используется программой C (коммерческое программное обеспечение) в качестве «пользовательской библиотеки» и связана для создания программы D.

Вопросы:

1) Когда программа C использует VS 6, она работает, должна ли она нормально работать с VS 2008? Потому что это не так. 2) Когда я попытался перекомпилировать библиотеку B в VS 2008, она дала мне файл .lib только с 28 КБ, а старый имел более 2 МБ. Это нормально? Что я, вероятно, делаю неправильно?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 21 июня 2010

Большое спасибо за ответ!

Я сделал пример с более простым кодом, но сообщения об ошибках те же:

ССЫЛКА: предупреждение LNK4098: конфликт по умолчанию с библиотекой MSVCRTD конфликтует с использованиемдругих библиотек;используйте / NODEFAULTLIB: Библиотека

ошибка lnk2019 неразрешенный внешний символ "_xsqr" в функции "_Add".ошибка lnk2019 неразрешенный внешний символ "_xcube" в функции "_Subtract".dymosim.exe: фатальная ошибка lnk1120 2 неразрешенные внешние ошибки.

Где "_xsqr" - это функция библиотеки A, "_Add" - функция в библиотеке B, а dymosim.exe - программа D. Выдаются сообщения об ошибках.в среде программы С.

0 голосов
/ 19 июня 2010
  1. Нет, в языке произошли изменения.Однако большинство работающих программ VC6, однажды скомпилированных в VS9, также будут работать.На что похожа ошибка?

  2. звучит чудесно.Возможно, некоторые зависимости были изменены, и некоторые библиотеки больше не связаны с библиотекой.

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