简体   繁体   中英

How do I compile PortAudio on Windows in Visual Studio Community 2015?

If I attempt to build PortAudio using the .sln file included in the latest download, I get these errors.

不能包含... ASIO

What is interesting however is that I have set the preprocessor flag PA_USE_ASIO to 0, as shown here.

PA_USE_ASIO = 0

If I delete the ASIO directory (/src/hostapi/asio), I no longer get errors related to the ASIO files but instead receive an error related to ksguid.lib .

TargetName与链接器OutputFile不匹配,无法打开ksguid.lib

Googling around says that the PA_WDMKS_NO_KSGUID_LIB preprocessor flag should stop this ( source ) but it doesn't seem to work. As if it's ignoring the preprocessor flags entirely.

Alternatively, if there is a better library which works similarly to PortAudio, I'd be happy to hear about it (I'm trying to do some real time DSP).

First Problem, Linker Problem:

You can change the Output FileName on Project -> Properties -> Linker -> General (1. Point on Linker, I dont use the English Version of VS) Change the outputname in the first column from portaudio_x86 to portaudio

Second Problem:

You need to define the full Pathname of the ksguid.lib file. The file should be probably here: C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib\\x64\\ksguid.lib . Or for x86 Application in the folder above. Paste the link here: Project > Properties > Configuration-Properties > Linker > Input -> Additional Dependencies

I got the same Problem as you, after i've done this, it builds the Project succesfully, but if i want to execute it in Visual Studio it gives me an error - the portaudio.dll could not be opened, Unknown error 0x800700c1. Do you or anyone have a reason for this?

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM