Frage

Ich kompiliere eine DLL, die Portaudio verwenden muss.Es verwendet auch alle möglichen Windows-Bibliotheken für Steckdosen und auch, aber der Linker erhielt die Portaudio-Bibliothek nicht.Dann erinnere ich mich, dass Portaudio __cdcel anstelle von __stdcall verwendet.Normalerweise würde ich einfach __cdcel verwenden und mit ihm fertig sein, aber die DLL, die ich kompiliere, muss __stdcall verwenden, weil ich es mit visueller Basic verwenden werde.

und wenn dieses Projekt wie ein bisschen ein Kötung an Sie klingt, ist es.

War es hilfreich?

Lösung

dumm mir!Alles, was ich tun muss, ist __CDCEL zu verwenden und die exportierten Funktionen als __stdcall deklarieren!

Andere Tipps

Ich vermute, Sie müssen __CDECL verwenden, da Portaudio einige Ihrer Funktionen angerufen wird?Erstellen Sie dann eine interne Funktion, die __CDECL deklariert ist, diese Funktion an Portaudio übergeben und eine exportierte Funktion (deklariert __stdcall) angeben, die Ihre interne Funktion nennt.

Aber ich vermute, was Sie zu tun haben, sollten Sie weitere Informationen zur Verfügung stellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top