Я написал DLL в Delphi, которая экспортирует функции.Я хотел бы использовать эти функции в программе на C ++ без использования динамического связывания (LoadLibrary () API-Call).
Объявление "import" было бы
extern "C" int __stdcall getVersionNumber();
Я в основном использую BloodshedDev-C ++, который создает исполняемые файлы Windows.Но я не знаю, как сказать компилятору, что он должен импортировать функцию «getVersionNumber» из «STATMONDLL32.dll».
После того, как я потратил много часов на поиск проблемы в Google, без какого-либо результата (был только странныйматериал, написанный о файлах .a и .lib, которые я не скомпилировал в Delphi ...) Я также установил VC ++, но даже там я не смог найти способ сказать компилятору использовать определенную DLL.
Я создал файл DEF для этой DLL - как я могу сказать Dev-C ++ и / или VC ++ использовать его?(Предпочтительно Dev-C ++)
// Редактировать: Delphi создает НЕУДАЧЕННЫЕ символы.Символ является в точности "getVersionNumber".
Я создал следующий файл DEF с псевдонимом для оформления:
LIBRARY STATMONDLL32
EXPORTS
getVersionNumberA = _getVersionNumberA@0
Я создал файл * .lib с VC ++ "lib.exe":
lib.exe /DEF:StatMonDll32.def /OUT:StatMonDll32.lib
Я включил библиотеку в настройки компоновщика VC ++.
Но VC ++ говорит мне, что он не может разрешить внешний символ _getVersionNumberA @ 0!Пожалуйста, помогите!
// Редактировать: Я загрузил DLL здесь: http://www.viathinksoft.de/temp/StatMonDll32.dll.Можете ли вы получить доступ к символу getVersionNumberA с помощью VC ++?Я ищу решение уже 6 дней: '- (
С уважением
Даниэль Маршалл