j'ai une dll, il exporte une fonction ...les exportations du CCG nom de la fonction décorée uniquement de dll
extern "C"
int __stdcall
MP_GetFactory(gmpi::IMpUnknown** returnInterface)
{
}
Je compile avec ce Code :: Blocks compilateur GCC (de V3.4.5). Problème: les exportations dll résultant nom de la fonction décorée ...
[email protected]
Cela ne se charge pas, devrait être bon vieux ...
MP_GetFactory
J'ai fait des recherches sur ce pendant environ 4 heures. Je pense que --add-stdcall-alias est l'option pour résoudre ce problème. Mon Code :: Blocks journal affiche ...
mingw32-g ++ exe -shared -Wl, -. Out-implib = bin \ Debug \ libGainGCC.a -Wl, - dll obj \ Debug \ se_sdk3 \ mp_sdk_audio.o obj \ Debug \ se_sdk3 \ mp_sdk_common.o obj \ Debug \ Gain \ Gain.o obj \ Déboguer \ Gain \ gain.res -o bin \ Déboguer \ GainGCC.sem --add-stdcall-alias -luser32
..so je pense que c'est l'option correcte là-dedans? Mais pas de chance. Dépendance Walker affiche uniquement le nom décoré exporté. Je l'ai eu à travailler un peu en utilisant __cdecl au lieu de __stdcall, le nom est ensuite exporté ok, mais la fonction corrompt la pile lorsqu'elle est appelée (parce que l'appelant s'attendait à l'autre convention d'appel).