2012-07-28 107 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