如果我尝试使用最新下载中包含的.sln文件构建PortAudio,则会收到这些错误。

c++ - 如何在Visual Studio Community 2015中的Windows上编译PortAudio?-LMLPHP

但是有趣的是,我将预处理器标志PA_USE_ASIO设置为0,如下所示。

c++ - 如何在Visual Studio Community 2015中的Windows上编译PortAudio?-LMLPHP

如果删除ASIO目录(/ src / hostapi / asio),我将不再收到与ASIO文件相关的错误,而是收到与ksguid.lib相关的错误。

c++ - 如何在Visual Studio Community 2015中的Windows上编译PortAudio?-LMLPHP

谷歌搜索说PA_WDMKS_NO_KSGUID_LIB预处理器标志应停止此操作(source),但似乎不起作用。好像完全忽略了预处理器标志。

另外,如果有一个更好的库与PortAudio类似,我很高兴听到它(我正在尝试做一些实时DSP)。

最佳答案

第一个问题,链接器问题:

您可以更改输出文件名Project -> Properties -> Linker -> General (1.在链接器上指向,我不使用VS的英文版)
将第一列中的输出名称从portaudio_x86更改为portaudio
第二个问题:

您需要定义ksguid.lib file.的完整路径名。文件可能位于此处:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64\ksguid.lib。或对于以上文件夹中的x86 Application。将链接粘贴到此处:Project > Properties > Configuration-Properties > Linker > Input -> Additional Dependencies
完成此操作后,我遇到了与您相同的问题,它成功构建了Project,但是如果我想在Visual Studio中执行它,则会给我一个错误-the portaudio.dll could not be opened, Unknown error 0x800700c1. 您或任何人有这个理由吗?

关于c++ - 如何在Visual Studio Community 2015中的Windows上编译PortAudio?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35264950/

10-10 16:34