У меня есть длл, он экспортирует функцию ...экспорта GCC декорированные имя функции только из DLL
extern "C"
int __stdcall
MP_GetFactory(gmpi::IMpUnknown** returnInterface)
{
}
компилировать это с Code :: Blocks GCC компилятором (V3.4.5). Проблема: в результате экспорта DLL декорированные имени функции ...
[email protected]
Это не загружается, должна быть простой старой ...
MP_GetFactory
Я исследовал это в течение примерно 4 часов. Я думаю, что -add-stdcall-alias - это возможность исправить это. Мой код :: Blocks журнал показывает ...
mingw32-г ++ ех -shared -Wl, -. Из-Implib = Bin \ Debug \ libGainGCC.a -Wl, - длл OBJ \ Debug \ se_sdk3 \ mp_sdk_audio.o obj \ Debug \ se_sdk3 \ mp_sdk_common.o obj \ Debug \ Gain \ Gain.o obj \ Debug \ Gain \ gain.res -o bin \ Debug \ GainGCC.sem --add-stdcall-alias -luser32
.. я думаю, что это правильный вариант? Но не повезло. Dependancy Walker показывает только экспортированное имя. Я получил это для работы с помощью __cdecl вместо __stdcall, тогда имя затем экспортируется в порядке, но функция повреждает стек при вызове (поскольку вызывающий абонент ожидал другого соглашения о вызове).