Загрузка сторонней библиотеки dll в приложение Visual C ++ / QT - PullRequest
3 голосов
/ 17 мая 2011

У меня есть сторонние библиотеки, которые мне нужно использовать с моим приложением.Интерфейс определен в сторонних библиотеках, и я должен сделать интерфейсный вызов из моего приложения.У меня есть прототип функции интерфейса, но нет файлов lib или заголовочных файлов.Похоже, что следует использовать loadlibrary, но возможно ли это без заголовочных файлов?Есть ли способ генерировать такие заголовочные файлы?Также был бы очень признателен за некоторые объяснения для loadlibrary, так как я все еще понимаю идею.Спасибо!

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Вы можете использовать QLibrary :: resol () (или его статические вспомогательные братья), чтобы найти символ в DLL и вызвать его.

2 голосов
/ 17 мая 2011

Вы загружаете библиотеку с помощью функции API LoadLibrary. После загрузки DLL вы используете GetProcAddress, чтобы получить точку входа для определенной функции.

Если это библиотека C ++, вам, возможно, придется позаботиться о украшенных именах. Инструменты dumpbin и undname могут помочь определить, что на самом деле экспортируется DLL.

...