forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   MinGW & .lib (http://forum.boolean.name/showthread.php?t=17799)

wolfhound512 27.01.2013 17:31

MinGW & .lib
 
Кто-нибудь пользуется MinGW ?
Подскажите как подключить DLL скомпиленную в студии к MinGW ?
Пробовал подключать студийные .lib файлы, MinGW их молча проглатывает и все равно выдает сообщения типа "undefined reference to `_imp___ZN2ae9cPlatform4InitEPKwiibNS_7AE_GAPIE'"

impersonalis 27.01.2013 22:02

Ответ: MinGW & .lib
 
1) это?
2) это?

wolfhound512 27.01.2013 22:53

Ответ: MinGW & .lib
 
1) С этим я разобрался, и указал путь сразу в Link libraries, но компилятор продолжает "не видеть" функции, которые указаны в либ файле.
2) Надо будет попробовать.

impersonalis 01.02.2013 10:51

Ответ: MinGW & .lib
 
2wolfhound512 решил проблему?

wolfhound512 01.02.2013 11:45

Ответ: MinGW & .lib
 
Нет, прогрумму "coff2omf.exe" найти не смог (много где упоминается, но нигде не скачать), да и вроде она не бесплатная.
Из аналогов нашел Object file converter, но он конвертирует только статические библиотеки, а не библиотеки импорта.
К тому же, видимо, моя проблема состоит в разной декорации имен у этих компиляторов, а "coff2omf.exe" вряд ли меняет декорацию?

impersonalis 02.02.2013 00:31

Ответ: MinGW & .lib
 
Декорирование нужно менять (отменять нафиг!) в процессе сборки библиотеки. При помощи файла определения модуля (*.DEF) - в нём прописываются имена в явном виде
Код:

LIBRARY МОЯБИБЛИОТЕКА.DLL
EXPORTS МОЯФУНКЦИЯ

или директивами препроцессора (далее пример для C::B & MinGW, директивы экспорта опустил)
Код:


#ifdef __cplusplus
extern "C"
{
#endif

//здесь твои объявления функций

#ifdef __cplusplus
}
#endif

По сути, декорация нужна только при транслировании cpp-модулей, для устранения неоднозначности, вызванной возможностью перегрузки функций. Для экспортируемых функция эта фича выглядит сомнительной.

wolfhound512 02.02.2013 01:34

Ответ: MinGW & .lib
 
В том-то и дело что у меня экспортируются сплошь классы с перегруженными методами...
Наверное проще будет перекомпилировать библиотеку в MinGW

HolyDel 02.02.2013 02:34

Ответ: MinGW & .lib
 
Цитата:

Наверное проще будет перекомпилировать библиотеку в MinGW
я пошел по такому пути

jimon 02.02.2013 14:42

Ответ: MinGW & .lib
 
там разный ABI, действительно куда проще компилировать всё одним компилятором с одной версией CRT\STL


Часовой пояс GMT +4, время: 13:17.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot