This file is indexed.

/usr/share/doc/portaudio19-doc/doc/html/compile_windows.html is in portaudio19-doc 19+svn20140130-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>PortAudio: Building Portaudio for Windows using Microsoft Visual Studio</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">PortAudio
   &#160;<span id="projectnumber">2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Building Portaudio for Windows using Microsoft Visual Studio </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Below is a list of steps to build PortAudio into a dll and lib file. The resulting dll file may contain all five current win32 PortAudio APIs: MME, DirectSound, WASAPI, WDM/KS and ASIO, depending on the preprocessor definitions set in step 9 below.</p>
<p>PortAudio can be compiled using Visual C++ Express Edition which is available free from Microsoft. If you do not already have a C++ development environment, simply download and install. These instructions have been observed to succeed using Visual Studio 2010 as well.</p>
<p>1) PortAudio for Windows requires the files <em>dsound.h</em> and <em>dsconf.h</em>. Download and install the DirectX SDK from <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba</a> to obtain these files. If you installed the DirectX SDK then the !DirectSound libraries and header files should be found automatically by Visual !Studio/Visual C++. If you get an error saying dsound.h or dsconf.h is missing, you can declare these paths by hand. Alternatively, you can copy dsound.h and dsconf.h to portaudio\include. There should also be a file named ''dsound.lib'' in C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib.</p>
<p>2) For ASIO support, download the ASIO SDK from Steinberg at <a href="http://www.steinberg.net/en/company/developer.html">http://www.steinberg.net/en/company/developer.html</a>. The SDK is free but you will need to set up a developer account with Steinberg. Copy the entire ASIOSDK2 folder into src\hostapi\asio Rename it from ASIOSDK2 to ASIOSDK. To build without ASIO (or other host API) see the "Building without ASIO support" section below.</p>
<p>3) If you have Visual Studio 6.0, 7.0(VC.NET/2001) or 7.1(VC.2003), open portaudio.dsp and convert if needed.</p>
<p>4) If you have Visual Studio 2005, Visual C++ 2008 Express Edition or Visual Studio 2010, double click the portaudio.sln file located in build\msvc Doing so will open Visual Studio or Visual C++. Click "Finish" if a wizard appears. The sln file contains four configurations: Win32 and Win64 in both Release and Debug variants.</p>
<h1><a class="anchor" id="comp_win1"></a>
For Visual Studio 2005, Visual C++ 2008 Express Edition or Visual Studio 2010</h1>
<p>5) Open Project -&gt; portaudio Properties and select "Configuration Properties" in the tree view.</p>
<p>6) Select "all configurations" in the "Configurations" combo box above. Select "All Platforms" in the "Platforms" combo box.</p>
<p>7) Now set a few options:</p>
<p>C/C++ -&gt; Optimization -&gt; Omit frame pointers = Yes</p>
<p>C/C++ -&gt; Code Generation -&gt; Runtime library = /MT</p>
<p>Optional: C/C++ -&gt; Code Generation -&gt; Floating point model = fast</p>
<p>NOTE: For most users it is not necessary to explicitly set the structure member alignment; the default should work fine. However some languages require, for example, 4-byte alignment. If you are having problems with <a class="el" href="portaudio_8h.html" title="The portable PortAudio API. ">portaudio.h</a> structure members not being properly read or written to, it may be necessary to explicitly set this value by going to C/C++ -&gt; Code Generation -&gt; Struct member alignment and setting it to an appropriate value (four is a common value). If your compiler is configurable, you should ensure that it is set to use the same structure member alignment value as used for the PortAudio build.</p>
<p>Click "Ok" when you have finished setting these parameters.</p>
<h1><a class="anchor" id="comp_win2"></a>
Preprocessor Definitions</h1>
<p>Since the preprocessor definitions are different for each configuration and platform, you'll need to edit these individually for each configuration/platform combination that you want to modify using the "Configurations" and "Platforms" combo boxes.</p>
<p>8) To suppress PortAudio runtime debug console output, go to Project -&gt; Properties -&gt; Configuration Properties -&gt; C/C++ -&gt; Preprocessor. In the field 'Preprocessor Definitions', find PA_ENABLE_DEBUG_OUTPUT and remove it. The console will not output debug messages.</p>
<p>9) Also in the preprocessor definitions you need to explicitly define the audio APIs you wish to use. For Windows the available API definitions are:</p>
<p>PA_USE_ASIO<br/>
 PA_USE_DS (DirectSound)<br/>
 PA_USE_WMME (MME)<br/>
 PA_USE_WASAPI<br/>
 PA_USE_WDMKS<br/>
 PA_USE_SKELETON</p>
<p>For each of these, the value of 0 indicates that support for this API should not be included. The value 1 indicates that support for this API should be included.</p>
<h1><a class="anchor" id="comp_win3"></a>
Building</h1>
<p>As when setting Preprocessor definitions, building is a per-configuration per-platform process. Follow these instructions for each configuration/platform combination that you're interested in.</p>
<p>10) From the Build menu click Build -&gt; Build solution. For 32-bit compilations, the dll file created by this process (portaudio_x86.dll) can be found in the directory build\msvc\Win32\Release. For 64-bit compilations, the dll file is called portaudio_x64.dll, and is found in the directory build\msvc\x64\Release.</p>
<p>11) Now, any project which requires portaudio can be linked with portaudio_x86.lib (or _x64) and include the relevant headers (<a class="el" href="portaudio_8h.html" title="The portable PortAudio API. ">portaudio.h</a>, and/or <a class="el" href="pa__asio_8h.html" title="ASIO-specific PortAudio API extension header file. ">pa_asio.h</a> , pa_x86_plain_converters.h) You may want to add/remove some DLL entry points. Right now those 6 entries are not from <a class="el" href="portaudio_8h.html" title="The portable PortAudio API. ">portaudio.h</a>:</p>
<p>(from portaudio.def) </p>
<div class="fragment"><div class="line">...</div>
<div class="line">PaAsio_GetAvailableLatencyValues    @50</div>
<div class="line"><a class="code" href="pa__asio_8h.html#ac9449ca8f0aedaa7b93027cdca3d6ba3">PaAsio_ShowControlPanel</a>             @51</div>
<div class="line">PaUtil_InitializeX86PlainConverters @52</div>
<div class="line"><a class="code" href="pa__asio_8h.html#abaafacb711225e7c6158fff3b3e8b87a">PaAsio_GetInputChannelName</a>          @53</div>
<div class="line"><a class="code" href="pa__asio_8h.html#a97bd5b2192c1321a492ba24d7ef843fa">PaAsio_GetOutputChannelName</a>         @54</div>
<div class="line">PaUtil_SetLogPrintFunction          @55</div>
</div><!-- fragment --><h1><a class="anchor" id="comp_win4"></a>
Building without ASIO support</h1>
<p>To build PortAudio without ASIO support you need to:</p>
<p>1) Make sure your project doesn't try to build any ASIO SDK files. If you're using one of the shipped projects, remove the ASIO related files from the project.</p>
<p>2) Make sure your project doesn't try to build the PortAudio ASIO implementation files:</p>
<p>src\hostapi\pa_asio.cpp src\hostapi\iasiothiscallresolver.cpp</p>
<p>If you're using one of the shipped projects, remove them from the project.</p>
<p>3) Define the preprocessor symbols in the project properties as described in step 9 above. In VS2005 this can be accomplished by selecting Project Properties -&gt; Configuration Properties -&gt; C/C++ -&gt; Preprocessor -&gt; Preprocessor Definitions. Omitting PA_USE_ASIO or setting it to 0 stops src\os\win\pa_win_hostapis.c from trying to initialize the PortAudio ASIO implementation.</p>
<p>4) Remove PaAsio_* entry points from portaudio.def</p>
<hr/>
<p> David Viens, <a href="#" onclick="location.href='mai'+'lto:'+'dav'+'id'+'v@p'+'lo'+'gue'+'.c'+'om'; return false;">david<span style="display: none;">.nosp@m.</span>v@pl<span style="display: none;">.nosp@m.</span>ogue.<span style="display: none;">.nosp@m.</span>com</a></p>
<p>Updated by Chris on 5/26/2011</p>
<p>Improvements by John Clements on 12/15/2011</p>
<p>Back to the Tutorial: <a class="el" href="tutorial_start.html">PortAudio Tutorials</a> </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Feb 25 2014 21:08:45 for PortAudio by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>