2012-07-28 102 views
0

我正在編譯一個需要使用portaudio的DLL。它使用各種類型的套接字窗口庫,但鏈接器無法識別portaudio庫。然後我記得portaudio使用__cdcel而不是__stdcall。通常,我只是使用__cdcel並完成它,但是我正在編譯的DLL需要使用__stdcall,因爲我將在Visual Basic中使用它。C - DLL需要__stdcall和導入__cdecl lib

而且,如果這個項目聽起來有點像你這樣的混亂,那就是。

回答

0

笨我!我所要做的就是使用__cdcel並將導出的函數聲明爲__stdcall!

0

我認爲你需要使用__cdecl,因爲portaudio會調用你的一些函數?然後創建一個聲明爲__cdecl的內部函數,將此函數傳遞給portaudio,並提供一個調用內部函數的導出函數(聲明爲__stdcall)。

但我有點猜測你正在嘗試做什麼,你應該提供更多的信息。

+0

嗯,是的,我在回答問題後不久回答了我自己的問題,對不起。相反,我讓我的應用程序使用__cdecl(使端口音頻工作)並將我的導出函數聲明爲__stdcall。 – 2012-08-03 04:53:25