Как создать библиотеку Xerces-c для использования с Embarcadero Technologies C++ Builder?
Я загрузил исходный код Xerces-c из зеркала xerces.appache. Я хочу создать DLL, которую можно использовать с C++Builder 10.0 Seattle, как для 32-разрядных, так и для 64-разрядных.
Инструкции по сборке и загрузочный архив предоставляют решение Visual C++, которое я могу использовать с VS Studio Express 2015, ИЛИ инструкции по сборке с файлами make, разработанными для Borland C++. Borland отказался от инструментов C++ десять лет назад, поэтому, даже не пробуя make-файлы, я предположил, что они не будут работать с моим компилятором Embarcadero 10.0 Seattle. Таким образом, я создал xerces-all с VS Studio Express 2015, и все это работает. (DLL собрана без ошибок, а примеры собраны и, похоже, работают.)
Я пытался внести изменения в решение VS Studio (изменение соглашения о вызовах с __cdecl
в __stdcall
), но это только делает образцы не в состоянии построить.
Следуя совету Реми Лебо и найденной мною статьи ( Использование библиотек DLL Visual C++ с C++ Builder), я попытался использовать утилиты Embarcadero TDUMP, IMPDEF и IMPLIB для извлечения имен экспорта из встроенной библиотеки DLL. Эти выходные данные выглядят так:
EXPORT ord:1763='?Initialize@XMLPlatformUtils@xercesc_3_1@@SAXKKKQBD0QAVPanicHandler@2@QAVMemoryManager@2@@Z'
Я разместил код приложения, который я пытаюсь создать, как простой тест в этой теме:
неразрешенный внешний 'xercesc_3_1::XMLPlatformUtils::Initialize' в тестовом приложении C++ Builder
Я запутался за пределами веры. Как я могу получить DLL или LIB, которые я могу использовать со своими инструментами?