如何在Visual Studio Community 2015中在Windows上编译PortAudio?

时间:2016-02-08 08:13:31

标签: c++ portaudio

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

Cannot include ... ASIO

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

PA_USE_ASIO=0

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

TargetName does not match linker OutputFile, cannot open ksguid.lib

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

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

2 个答案:

答案 0 :(得分:1)

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

您可以更改输出文件名 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

我遇到了和你一样的问题,在我完成这个之后,它成功地构建了项目,但是如果我想在Visual Studio中执行它会给我一个错误 - the portaudio.dll could not be opened, Unknown error 0x800700c1.  你或任何人有理由这样做吗?

答案 1 :(得分:-2)

即使在Visual Studio中也不能运行.dll文件,因为它是支持其他应用程序的库,您可以构建PortAudio来专门播放音频流,可以通过将.dll文件放置在系统主目录的项目文件夹中来利用它文件夹。