Можно ли использовать встроенные библиотеки VS2008 из решения VS2003? - PullRequest
2 голосов
/ 06 мая 2009

Как использовать библиотеки DLL и библиотеки, скомпилированные с помощью Visual Studio 2008, из проекта Visual Studio 2003?

Спасибо, Dan

Ответы [ 3 ]

1 голос
/ 06 мая 2009

В целом, маловероятно, что вы сможете использовать скомпилированные библиотеки C ++ (динамические или статические) с другим компилятором, если один из компиляторов не указан явно как двоичный, совместимый с другим.

В некоторых ответах упоминаются сторонние библиотеки DLL или библиотеки DLL. Тем не менее, я готов поспорить, что большинство, если не все, из этих DLL используют API C, а не C ++. C ++ ABI (двоичный интерфейс приложения) не стандартизирован - такие вещи, как искажение имени, не гарантируется одинаковым в разных версиях одного и того же компилятора, а соглашения о вызовах могут различаться в зависимости от параметров компилятора .

Быстрый поиск в Google не обнаружил никаких ссылок, которые выглядели пригодными для использования, но, как я уже говорил в начале, вы не можете использовать скомпилированную C ++ библиотеку, статическую или динамическую, в скомпилированном коде с другим компилятором. C другой зверь, и этот ответ совершенно другой!

1 голос
/ 06 мая 2009

Вы определенно можете использовать DLL. Я использовал те же сторонние библиотеки DLL в VS2003 и VS2008. Чтобы упростить задачу, вы должны передавать только старые типы данных в функции DLL и из них. Структуры или классы намного сложнее, но также должны быть возможны в большинстве случаев между VS2003 и VS2008.

Проверьте эти вопросы для получения более подробной информации, чем я могу вам дать.

0 голосов
/ 06 мая 2009

Вы не можете этого сделать. Единственной возможной вещью будет перекомпиляция с целью .NET 1.x.

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