14
14
========================================================================
15
This version is currently accurate for Audacity version 1.3.3.
16
Last Updated: October 22, 2006
15
This version is currently accurate for Audacity version 1.3.4.
17
16
If the advice here is inaccurate or incomplete, please
18
17
email audacity-devel@lists.sourceforge.net.
19
See also "http://audacityteam.org/wiki/index.pl?CompilingAudacity".
18
See also "http://audacityteam.org/wiki/index.php?title=Developing_On_Windows".
20
19
========================================================================
22
21
Audacity releases are now built with Microsoft Visual C++ 8,
89
88
if you plan to build Unicode Release Audacity, you need to
90
89
have built Unicode Release wxWidgets.
91
5. At this point, if you want to save some disk space,
92
you can safely delete the directory:
93
"C:\wxWidgets-2.6.3\build"
93
96
--------------------------
94
97
MSVC++ STEP 3: Download Audacity
171
174
with these libs, open the file "configwin.h" and change it according
172
175
to the third-party libraries you have installed.
174
DirectSound and ASIO are sound card interface protocols that are more
175
efficient than the standard WMME. Unlike WMME, not all sound card
176
drivers support them. You can optionally add support for either
177
DirectSound or ASIO as follows:
177
DirectSound (Microsoft) and ASIO (Steinberg) are sound card interface
178
protocols that are more efficient than the standard
179
WMME. Unlike WMME, not all sound card drivers support them.
179
If you wish DirectSound support, you must install the DirectX
180
SDK from Microsoft (http://msdn.microsoft.com/directx). The
181
installation will automatically define the DXSDK_DIR
181
TO ADD SUPPORT FOR DIRECTSOUND:
182
Install the DirectX SDK from Microsoft (http://msdn.microsoft.com/directx).
183
The installation will automatically define the DXSDK_DIR
182
184
environment variable and its presense will cause DirectSound
183
185
support to be automatically included when Audacity is built.
188
TO ADD SUPPORT FOR ASIO:
189
Because ASIO is a PROPRIETARY, closed standard,
190
we (or any third party) cannot distribute its SDK.
191
That means we cannot distribute builds of Audacity that support
192
ASIO, because Audacity is licensed under the
193
GPL (http://audacity.sourceforge.net/about/license), which requires
194
we distribute all source code.
196
So, although you can build your own copies of Audacity with
197
ASIO support, for personal use, you cannot distribute them without
198
violating the Audacity license and the ASIO license.
199
If you build ASIO support into Audacity, do not distribute that build.
185
201
If you wish ASIO support, install the ASIO SDK from Steinberg
186
202
(http://www.steinberg.net ... select Company, then 3rd Party
187
203
Developers), then define an environment variable called
188
ASIOSDK_DIR, as you did for WXWIN above. The value should be
204
ASIOSDK_DIR, as you did for WXWIN, above. The value should be
189
205
the full path to the base directory of the ASIO SDK, e.g.,
190
206
set ASIOSDK_DIR=C:\ASIOSDK2
192
209
PortAudio (http://www.portaudio.com/) is a cross-platform OSS library
193
210
that Audacity uses for recording and playback. The default build
194
211
settings use PortAudio v19, but v18 is still supported. If you want
213
230
* "Unicode_Debug" for a Unicode-based, slower, debuggable
233
There is also a wx284_debug target which enables various expriemental features
234
not in the release builds. This requires files not included in the source
235
tarball, so we recommend checking out the latest source from audacity CVS:
236
http://audacity.sourceforge.net/community/developers#cvs
216
238
You can select the configuration from the Solution
217
239
Configurations pull-down menu, or select it from the "Build"
218
240
menu > "Configuration Manager..." dialog box.
575
597
`wx-config --static --libs` instead of `wx-config --libs` which it already uses. Currently,
576
598
Audacity will not build with `wx-config --static --libs`. If you get it to work, let us know!
579
----------------------
580
Miscellaneous Problems
581
----------------------
583
When I tried to get Audacity to compile with wxWidgets 2.4.0, I ran into trouble with large file
584
support. This trouble is characterized by a linker error that looks like this:
586
obj/import/ImportMP3.o(.text+0x63b): In function
587
`_Z8input_cbPvP10mad_stream':
588
/home/dfancella/audacity/src/import/ImportMP3.cpp:278: undefined
589
reference to `wxFile::Read(void*, long long)'
591
This problem went away when compiled with wxWidgets 2.4.1. However, since the proper solution
592
to the problem was never identified, it is possible that this problem will resurface with future
593
versions of wxWidgets. It is also possible that this occurred as a bug in wxWidgets 2.4.0 that was
594
fixed in 2.4.1, in which case it's not likely to reappear.
596
The root of the problem is that wxWidgets was compiled without large file support enabled, while
597
Audacity was compiled with it. This is determined by a #define symbol, _INPUT_BYTE_OFFSET being
598
set to 64 for large file support. It should also affect libsndfile, but mysteriously it did not.
599
If you encounter this problem and find a fix, please submit a patch.
601
If you modify Audacity's Makefile and then run configure, configure will overwrite your changes
602
to the Makefile when it regenerates it. This is not a bug, this is the expected behavior. The way
603
to address this issue is to make sure that you migrate changes to the Makefile to Makefile.in
604
before rerunning configure. This is also why it is recommended that you work with configure.in to
605
provide the features you need rather than editing Audacity's Makefile. Just keep in mind that
606
Audacity's Makefile is a strong Makefile that successfully compiles under multiple Linux distributions,
607
and even FreeBSD. If you find yourself modifying it a lot, you are probably making a mistake and
608
should step back and re-evaluate how you are working. I was able to effect all changes needed
609
to successfully build Audacity under Cygwin without modifying Audacity's Makefile, although I
610
did frequently test changes by modifying the Makefile directly. After each change, you should
611
find a way to put it in configure.in and rerun autoconf and configure.