Compile Audacity 1.2.6 Source on Windows Vista 32-bit
29 December 2009
(sources: win/compile.txt, Audacity wiki, google searches on compilation errs.)
Main thing was needed to compile wxWidgets as Debug not Debug DLL.
Tested process from start to end, but having uninstalled and reinstalled and
recompiled so many times on this machine, no guarantees.
At the time of writing, the recommended versions were Audacity 1.3.9 or 1.3.10
beta, and wxWidgets 2.8.9 or 2.8.10, but Debug builds crashed a lot and the
Release build took too long to recompile even a small change, so I went with
-Extract wxWindows-2.4.2 folder to C:
-Extract audacity source (C:\audacity-src-1.2.6)
-Copy contents of C:\audacity-src-1.2.6\win\wxWidgets_additions_VC7 to
-Open wxWindows.sln in Visual C++ 2008 Express (convert it)
-Build menu, Configuration Manager, Active solution change from "Debug DLL" to
"Debug" (should change wxWindows subproject from "Debug DLL" to "Debug")
-Control Panel, Classic View, System, Advanced system settings, Env.variables,
System variables, add WXWIN with value C:\wxWindows-2.4.2
-Tools menu, Options, Projects and Solutions, VC++ Directories, Include files
-Library files add entry:
-Close and reopen VC2008express
-Solution Explorer, highlight wxWindows subproject, right-click Properties,
Configuration prop., C/C++, Code Generation assert Runtime Library is:
Multi-threaded Debug (/MTd)
-Also in C/C++, General assert Additional Include Directories has "../lib/mswd"
-Librarian, Output File should be "..\lib\wxmswd.lib"
-Build menu, Build solution
-Don't worry about localtime, sscanf, etc may be unsafe warnings
-If you get regerror.c errors, move the type specifiers into the regerror()
function declaration (i.e. convert it from old C function signature style)
-It should complete the build now giving you wxmswd.lib in
C:\wxWindows-2.4.2\lib and wx/setup.h in C:\wxWindows-2.4.2\lib\mswd
At this point, instructions say to if you have certain modules like "libmad" or
"OGG/Vorbis support" you need to enable them with Audacity's configwin.h. I
didn't have any of these installed.
-Open C:\audacity-src-1.2.6\win\audacity.sln (and convert)
-Due to not having modules like libmad, OGG Vorbis, installed(?), I got errors
in the conversion log, and several subprojects in Solution Explorer say
unavailable. (libsndfile is available though) It's not a show stopper though
-Build menu, Configuration manager, assert all Configurations say Debug
-Assert in Audacity subproject's properties, Config., C/C++, Addt'l Incl. Dirs.
has $(WXWIN)\lib\mswd as first entry
(should prevent platform.h can't find wx/setup.h errors)
-Also C/C++, Code Generation is using Multi-threaded Debug (/MTd)
-Also Linker, Input, Addt'l Dependencies already has wxmswd.lib in the list
-Try Build solution
-If you get can't find FLAC/all.h error, remove HAVE_FLAC_ALL_H from libsndfile
subproject properties (Config., C/C++, Preprocessor, Prepr.Defn's)
-If you get cannot open libFLACd.lib, remove that file from Audacity properties
Config., Linker, Input, Addt'l Dep.
-If you get ambiguous pow() call error, you can change "resultDivFactor" to
-Compile should succeed now and F5 should successfully bring up newly compiled