Ошибка ссылки при попытке доступа к скомпилированной библиотеке RAD Studio 10.2 в XE

Мне нужна последняя функция IniFile, поэтому я скомпилировал свой проект XE .lib в RAD Studio 10.2. Компиляция прошла успешно, но при использовании ее в моем проекте XE я получаю сообщение об ошибке невозможности открытия компоновщика SChore.obj. Как решить эту ошибку?

Эта библиотека Schore.dll находится в папке C:\Program Files (x86)\Embarcadero\Studio\19.0\lib\win32\release. Я попытался добавить этот путь в путь включения как .lib, так и проекта XE, но ошибка все еще существует.

Любое предложение по устранению этой ошибки?


person viji    schedule 03.05.2021    source источник


Ответы (1)


Вы не можете использовать файл .lib в разных версиях компилятора. Вам нужны отдельные версии .lib, которые были скомпилированы специально для каждого компилятора.

Это означает, что вы не можете использовать 10.2 .lib в XE. Вместо этого вы можете скомпилировать свой код библиотеки в 10.2 в DLL, а затем использовать эту DLL в своем проекте XE.

Если вы хотите статически связать функции DLL во время компиляции, вы можете использовать XE-версию C++Builder IMPLIB, чтобы создать новый импорт .lib из DLL, а затем добавить его в свой проект XE. В противном случае вы можете использовать функции Win32 LoadLibrary() и GetProcAddress() для динамического доступа к функциям библиотеки DLL во время выполнения.

person Remy Lebeau    schedule 03.05.2021
comment
Что такое импортная библиотека и как ее создать и использовать с exe? У нас есть какие-либо документы на него? - person viji; 03.05.2021