В моем приложении я должен явно указать ссылку на dll. Приложение находится в QT с компилятором gcc.
DLL-библиотека, на которую должно ссылаться приложение, является оболочкой для другой старой библиотеки DLL. Цель состоит в том, чтобы приспособить старую DLL к новому интерфейсу.
Я использую неявные ссылки при компиляции новой библиотеки DLL. Новая dll скомпилирована с msvc 2008. Причина в том, что старая dll имеет функции класса c ++, которые не могут быть распознаны gcc. Новый интерфейс использует функции c.
Итак, общая картина такова, что когда я запускаю свое приложение, я связываю новую dll, а новая dll зависит от старой dll. Все работает нормально, за исключением того, что я должен положить старый DLL в ту же папку, что и EXE-файл или ту же папку, что и файл .pro
.
Я пытался добавить старую библиотеку в файл qt .pro приложения, но не сработал.
Можно ли как-нибудь переместить каталог старого файла dll?
Чтобы сформулировать более четко, если старая dll и приложение скомпилированы одним и тем же компилятором, я мог бы включить путь к старой dll и lib в файл .pro и поместить его в любое место.
Однако, теперь только новая dll распознает старые функции dll, поэтому я больше не мог этого делать. Интересно, есть ли способ изменить путь, который ищет исполняемый файл во время работы. Теперь он ищет и папку exe
, и свою родительскую папку.