updated Windows+ASIO build tutorial: Building Portaudio for Windows with ASIO support using MSVC. The tutorial was out of date and contained a number of errors that broke the build process.
This commit is contained in:
parent
37e8b23aba
commit
7bb4da2af9
1 changed files with 12 additions and 10 deletions
|
|
@ -7,14 +7,14 @@ This tutorial describes how to build PortAudio with ASIO support using MSVC *fro
|
|||
|
||||
ASIO is a low latency audio API from Steinberg. To compile an ASIO
|
||||
application, you must first download the ASIO SDK from Steinberg. You also
|
||||
need to obtain ASIO drivers for your audio device. Download the ASIO SDK from Steinberg at http://www.steinberg.net/en/company/developer.html. The SDK is free but you will need to set up a developer account with Steinberg.
|
||||
need to obtain ASIO drivers for your audio device. Download the ASIO SDK from Steinberg at http://www.steinberg.net/en/company/developer.html . The SDK is free but you will need to set up a developer account with Steinberg.
|
||||
|
||||
This tutorial assumes that you have 3 directories set up at the same level (side by side), one containing PortAudio, one containing the ASIO SDK and one containing your Visual Studio project:
|
||||
|
||||
@code
|
||||
/ASIOSDK2
|
||||
/portaudio
|
||||
/DirContainingYourVisualStudioProject
|
||||
/DirContainingYourVisualStudioProject (should directly contain the .sln, .vcproj or .vcprojx etc.)
|
||||
@endcode
|
||||
|
||||
First, make sure that the Steinberg SDK and the portaudio files are "side by side" in the same directory.
|
||||
|
|
@ -54,10 +54,11 @@ pa_stream.c (portaudio\src\common)
|
|||
pa_trace.c (portaudio\src\common)
|
||||
pa_win_hostapis.c (portaudio\src\os\win)
|
||||
pa_win_util.c (portaudio\src\os\win)
|
||||
pa_win_coinitialize.c (portaudio\src\os\win)
|
||||
pa_win_waveformat.c (portaudio\src\os\win)
|
||||
pa_x86_plain_converters.c (portaudio\src\os\win)
|
||||
patest_saw.c (portaudio\test) (Or another file containing main()
|
||||
for the console exe to be built.)
|
||||
paex_saw.c (portaudio\examples) (Or another file containing main()
|
||||
for the console exe to be built.)
|
||||
@endcode
|
||||
|
||||
|
||||
|
|
@ -71,25 +72,26 @@ pa_asio.h (portaudio\include)
|
|||
These header files define the interfaces to the PortAudio API.
|
||||
|
||||
|
||||
Next, go to Project Settings > All Configurations > C/C++ > Preprocessor > Preprocessor definitions and add
|
||||
Next, go to Project Settings > All Configurations > C/C++ > Preprocessor > Preprocessor Definitions and add
|
||||
PA_USE_ASIO=1 to any entries that might be there.
|
||||
|
||||
eg: WIN32;_CONSOLE;_MBCS changes to WIN32;_CONSOLE,_MBCS;PA_USE_ASIO=1
|
||||
|
||||
Then, on the same Project Settings tab, go down to Additional include directories: and enter the following relative include paths.
|
||||
Then, on the same Project Settings tab, go down to Additional Include Directories (in VS2010 you'll find this setting under C/C++ > General) and enter the following relative include paths:
|
||||
|
||||
@code
|
||||
..\portaudio\include,..\portaudio\src\common,..\asiosdk2\common,..\asiosdk2\host,..\asiosdk2\host\pc
|
||||
..\portaudio\include;..\portaudio\src\common;..\portaudio\src\os\win;..\asiosdk2\common;..\asiosdk2\host;..\asiosdk2\host\pc
|
||||
@endcode
|
||||
|
||||
You'll need to make sure the relative paths are correct for the particular directory layout you're using. The above should work fine if you use the side-by-side layout we recommended earlier.
|
||||
|
||||
You should now be able to build any of the test executables in the portaudio\test directory.
|
||||
We suggest that you start with patest_saw.c because it's one of the simplest test files.
|
||||
Some source code in the ASIO SDK is not compatible with the Win32 API UNICODE mode (The ASIO SDK expects the non-Unicode Win32 API). Therefore you need to make sure your project is set to not use Unicode. You do this by setting the project Character Set to "Use Multi-Byte Character Set" (NOT "Use Unicode Character Set"). In VS2010 the Character Set option can be found at Configuration Properties > General > Character Set. (An alternative to setting the project to non-Unicode is to patch asiolist.cpp to work when UNICODE is defined: put #undef UNICODE at the top of the file before windows.h is included.)
|
||||
|
||||
You should now be able to build any of the test executables in the portaudio\\examples directory.
|
||||
We suggest that you start with paex_saw.c because it's one of the simplest example files.
|
||||
|
||||
--- Chris Share, Tom McCandless, Ross Bencina
|
||||
|
||||
[wiki:UsingThePortAudioSvnRepository SVN instructions]
|
||||
Back to the Tutorial: \ref tutorial_start
|
||||
|
||||
*/
|
||||
Loading…
Reference in a new issue