mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-30 15:39:27 +02:00
Lots of changes, big and small:
* Removed duplicate paragraph about instructions for Cygwin. * Restored Leland's added hyphens for headings. :-) * Reduced STEP 1 to be less redundant, and to only link to wxWidgets.org, rather than the places they are currently storing downloads, which also reduces their version numbers that we need to maintain. * Step 2.2: Changed remaining ref to 3.0.2 back to 2.8.12. * Step 2.3: ** reordered the first two paragraphs, so you get the warning about pht.h before getting instructions that say "Build" (and changed them to be about build configuration, not actually doing the build). ** Added information about "audacity-src\win\wxWidgets_additions\window.cpp" to avoid editing the file. ** Restored the paragraph about the 5 core wxWidgets libs we use. Saves build time, and without that paragraph the subsequent "Because of dependencies..." makes no sense -- the dependencies are specified by those 5. * Step 4: ** Restored the steps 4.1 - 4.8. Good to have, for those who don't already know how to do it this way. ** Restored the instruction about how to alternatively set WXWIN via cmd.exe, and made it explicit that's what it referred to. For lot of devs, that's easier. * Step 5.3: Removed refs to LAME and FFmpeg, per discussion on -devel. * typos and rewordings
This commit is contained in:
parent
981e6db6ea
commit
38f346cfab
165
win/compile.txt
165
win/compile.txt
@ -22,9 +22,6 @@ email audacity-devel@lists.sourceforge.net.
|
|||||||
|
|
||||||
Audacity releases for Windows are currently built with Microsoft Visual
|
Audacity releases for Windows are currently built with Microsoft Visual
|
||||||
Studio 2013 C++. Most of us use the Express edition, which is free.
|
Studio 2013 C++. Most of us use the Express edition, which is free.
|
||||||
For instructions on compiling Audacity under the Cygwin
|
|
||||||
UNIX Emulation Layer, see the "Compiling Audacity under
|
|
||||||
Cygwin" section below. This is not maintained.
|
|
||||||
|
|
||||||
Note that Audacity uses VC++'s multithreaded DLL runtime libraries.
|
Note that Audacity uses VC++'s multithreaded DLL runtime libraries.
|
||||||
If you have MSVC installed, these are in your PATH, but users to
|
If you have MSVC installed, these are in your PATH, but users to
|
||||||
@ -36,27 +33,23 @@ UNIX Emulation Layer, see the "Compiling Audacity under
|
|||||||
Cygwin" section below. This is not maintained (for a very long time!).
|
Cygwin" section below. This is not maintained (for a very long time!).
|
||||||
|
|
||||||
|
|
||||||
---------------------------
|
------------------------------------------------------------------------
|
||||||
MSVC++ STEP 1: Download and Install wxWidgets
|
MSVC++ STEP 1: Download and Install wxWidgets
|
||||||
---------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
To simplify the implementation of a near-identical user
|
To simplify the implementation of a near-identical user
|
||||||
interface across platforms, Audacity uses wxWidgets, a
|
interface across platforms, Audacity uses wxWidgets, a
|
||||||
GUI framework. (https://www.wxwidgets.org/).
|
GUI framework.
|
||||||
|
|
||||||
Audacity 2.1.0 requires wxWidgets 2.8.12.
|
Audacity 2.1.0 requires wxWidgets 2.8.12.
|
||||||
|
|
||||||
To be able to build Audacity for Windows, download and install wxWidgets:
|
To be able to build Audacity for Windows, download and install
|
||||||
|
wxWidgets from http://www.wxwidgets.org/.
|
||||||
* installer: https://sourceforge.net/projects/wxwindows/files/2.8.12/wxMSW-2.8.12-Setup.exe
|
|
||||||
|
|
||||||
* .zip file: https://sourceforge.net/projects/wxwindows/files/2.8.12/wxMSW-2.8.12.zip
|
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
------------------------
|
|
||||||
MSVC++ STEP 2: Build wxWidgets
|
MSVC++ STEP 2: Build wxWidgets
|
||||||
------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
2.1. Open "C:\wxWidgets-2.8.12\build\msw\wx_dll.dsw" with
|
2.1. Open "C:\wxWidgets-2.8.12\build\msw\wx_dll.dsw" with
|
||||||
Microsoft Visual Studio.
|
Microsoft Visual Studio.
|
||||||
@ -81,83 +74,109 @@ MSVC++ STEP 2: Build wxWidgets
|
|||||||
in case you also build without these accessibility features.
|
in case you also build without these accessibility features.
|
||||||
|
|
||||||
Copy "audacity\win\wxWidgets_additions\setup.h" to
|
Copy "audacity\win\wxWidgets_additions\setup.h" to
|
||||||
"C:\wxWidgets-3.0.2\include\wx\msw\setup.h".
|
"C:\wxWidgets-2.8.12\include\wx\msw\setup.h".
|
||||||
|
|
||||||
Audacity releases are built with these accessibility features.
|
Audacity releases are built with these accessibility features.
|
||||||
|
|
||||||
|
|
||||||
2.3. Build wxWidgets for all configurations of Audacity that you want.
|
2.3. Build wxWidgets for all configurations of Audacity that you want.
|
||||||
* Build "DLL Unicode Release" to use in a "Release"
|
|
||||||
version of Audacity.
|
|
||||||
* Build "DLL Unicode Debug" to use in a "Debug"
|
|
||||||
version of Audacity.
|
|
||||||
|
|
||||||
With VS2013 you will get an error for missing pbt.h header, you can (apparently safely) comment that out.
|
With Visual Studio 2013 C++ and wxWidgets 2.8.12,
|
||||||
|
you will get an error for a missing pbt.h header.
|
||||||
|
You can (apparently safely) comment that out.
|
||||||
|
In audacity-src\win\wxWidgets_additions, we have a copy of
|
||||||
|
the file with this change already made.
|
||||||
|
As above, you may want to save the original by renaming
|
||||||
|
"C:\wxWidgets-2.8.12\src\msw\window.cpp" to
|
||||||
|
"C:\wxWidgets-2.8.12\src\msw\window.cpp.bak".
|
||||||
|
Then copy "audacity-src\win\wxWidgets_additions\window.cpp" to
|
||||||
|
"C:\wxWidgets-2.8.12\src\msw\window.cpp".
|
||||||
|
|
||||||
|
* Use the "DLL Unicode Release" configuration to use in a
|
||||||
|
"Release" version of Audacity.
|
||||||
|
* Build "DLL Unicode Debug" configuration to use in a
|
||||||
|
"Debug" version of Audacity.
|
||||||
|
|
||||||
See "MSVC++ STEP 6: Build Audacity" for the differences
|
See "MSVC++ STEP 6: Build Audacity" for the differences
|
||||||
between these versions of Audacity.
|
between these versions of Audacity.
|
||||||
|
|
||||||
Because of dependencies, this should also build these projects:
|
For Audacity, you need only the following five projects
|
||||||
But it may not on VS2013 so you will have to make sure to build these as well:
|
to build (not the whole solution) for each configuration:
|
||||||
|
* adv
|
||||||
|
* base
|
||||||
|
* core
|
||||||
|
* html
|
||||||
|
* net
|
||||||
|
Building only these will give you a faster build, and
|
||||||
|
possibly smaller wxWidgets DLLs.
|
||||||
|
To do this, Ctrl-select those 5 projects in the Solution Explorer.
|
||||||
|
Then right-click and choose Build Selection (or Rebuild Selection).
|
||||||
|
|
||||||
|
Because of dependencies, this should also build the
|
||||||
|
following projects.
|
||||||
|
But on some computer configurations, they may not on VS2013,
|
||||||
|
so you might have to explicityly build these as well:
|
||||||
* wxexpat
|
* wxexpat
|
||||||
* wxjpeg
|
* wxjpeg
|
||||||
* wxpng
|
* wxpng
|
||||||
* wxregex
|
* wxregex
|
||||||
* wxtiff
|
* wxtiff
|
||||||
* wxzlib
|
* wxzlib
|
||||||
|
To be certain about this, you can just Ctrl-select them with the
|
||||||
|
others above, and build them all together.
|
||||||
|
|
||||||
If you build the whole solution, ignore the linker errors for
|
If you build the whole solution, ignore the linker errors for
|
||||||
wxbase28*_odbc*.* dbgrid.
|
wxbase28*_odbc*.* dbgrid.
|
||||||
|
|
||||||
|
|
||||||
--------------------------
|
------------------------------------------------------------------------
|
||||||
MSVC++ STEP 3: Download and Install Audacity
|
MSVC++ STEP 3: Download and Install Audacity
|
||||||
--------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
To check out the latest
|
To check out the latest source code from SVN, see the instructions at
|
||||||
source code from SVN, see the instructions at
|
|
||||||
"http://audacity.sourceforge.net/community/developers".
|
"http://audacity.sourceforge.net/community/developers".
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------
|
------------------------------------------------------------------------
|
||||||
MSVC++ STEP 4: Set wxWidgets location for Audacity
|
MSVC++ STEP 4: Set wxWidgets location for Audacity
|
||||||
--------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
Before you can start the build process, you must update the
|
The Audacity Visual Studio project has been set up to use enviornment
|
||||||
project settings to tell Visual C++ where to find wxWidgets.
|
variables to locate all externally referenced SDKs. For wxWidgets, it
|
||||||
There are three settings that need changing:
|
uses the "WXWIN" environment variable.
|
||||||
4.1. Include Directory (e.g., "C:\wxWidgets-2.8.12\include")
|
|
||||||
4.2. Resource Directory (e.g., "C:\wxWidgets-2.8.12\include")
|
|
||||||
4.3. Library Directory (e.g., "C:\wxWidgets-2.8.12\lib")
|
|
||||||
|
|
||||||
eFortunately, this is parameterized, using a Windows
|
Before you can build Audacity, you must set the variable. This process
|
||||||
environment variable, WXWIN. There are various ways to set
|
can vary depending on the version of Windows you're using. The following
|
||||||
these, so look in the Windows help system.
|
is based on Windows 7, so you may need to make adjustments.
|
||||||
|
|
||||||
In the Audacity project file, there are declarations like
|
4.1. Open the "Control Panel"
|
||||||
|
4.2. Click the "System" app
|
||||||
$(WXWIN)\include
|
4.3. Click the "Advanced system settings" link
|
||||||
|
4.4. On the "Advanced" tab, click the "Environment Variables..." button
|
||||||
that get interpreted as, e.g., "C:\wxWidgets-2.8.12\include".
|
4.5. Click "New..." in the "System variables" group
|
||||||
|
4.6. Set the "Variable name" to "WXWIN" (without the quotes)
|
||||||
The typical setting for WXWIN is "C:\wxWidgets-2.8.12".
|
4.7. Set the "Variable value" to the full path of where you installed
|
||||||
For example,
|
wxWidgets (typically "C:\wxWidgets-2.8.12")
|
||||||
|
4.8. Click "OK" until you exit the "System Properties" app
|
||||||
|
|
||||||
|
An alternative way to do it, that's available on all versions of Windows,
|
||||||
|
is to open a cmd.exe window, and type:
|
||||||
set WXWIN =C:\wxWidgets-2.8.12
|
set WXWIN =C:\wxWidgets-2.8.12
|
||||||
|
|
||||||
Once you have set the WXWIN environment variable correctly,
|
Once you have set the WXWIN environment variable correctly, the Audacity
|
||||||
the Audacity project file's declarations will do the rest.
|
Project file's declarations will do the rest.
|
||||||
|
|
||||||
Note that you must restart the Audacity solution (sln)
|
Note that if you currently have the Audacity Solution open in Visual
|
||||||
file so it picks up changes in the environment variables.
|
Studio, you must restart Visual Studio for it to recognize the new
|
||||||
|
environment variables.
|
||||||
|
|
||||||
In some cases, you may need to reboot the computer to ensure
|
In some cases, you may need to reboot the computer to ensure
|
||||||
the variables are read correctly.
|
the variables are read correctly.
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
------------------------------------------------------------------------
|
||||||
MSVC++ STEP 5: Consider and Configure Optional Features
|
MSVC++ STEP 5: Consider and Configure Optional Features
|
||||||
-----------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
5.1. Locally installed help is optional, but required for a full Release
|
5.1. Locally installed help is optional, but required for a full Release
|
||||||
build. (The "help" folder is included in the installer, but removed from
|
build. (The "help" folder is included in the installer, but removed from
|
||||||
@ -188,25 +207,20 @@ e.g., C:\Windows.
|
|||||||
configuration, but requires that extra libraries be downloaded
|
configuration, but requires that extra libraries be downloaded
|
||||||
separately to use it.
|
separately to use it.
|
||||||
|
|
||||||
* To allow export of MP3 files, install LAME:
|
|
||||||
http://manual.audacityteam.org/index.php?title=FAQ:Installation_and_Plug-Ins#lame
|
|
||||||
|
|
||||||
* To allow import and export of a much wider range of audio formats
|
|
||||||
(including WMA, M4A and AC3), and to import audio from video files,
|
|
||||||
install FFmpeg:
|
|
||||||
http://www.audacityteam.org/manual/index.php?title=FAQ:Installation_and_Plug-Ins#installffmpeg
|
|
||||||
|
|
||||||
To change the libraries enabled in Audacity, edit
|
To change the libraries enabled in Audacity, edit
|
||||||
"win\configwin.h" and comment or uncomment the entries.
|
"win\configwin.h" and comment or uncomment the entries.
|
||||||
|
|
||||||
|
|
||||||
5.4 TO ADD SUPPORT FOR ASIO:
|
5.4. To add support for ASIO:
|
||||||
Because ASIO is a proprietary, closed standard,
|
|
||||||
we (or any third party) cannot distribute its SDK.
|
ASIO (from Steinberg) is a sound card interface protocol that is faster
|
||||||
That means we cannot distribute builds of Audacity that support
|
than standard WMME. Unlike WMME, not all soundcard drivers support it.
|
||||||
ASIO, because Audacity is licensed under the
|
|
||||||
GPL (http://audacity.sourceforge.net/about/license), which requires
|
Because ASIO is a proprietary, closed standard, we (or any third party)
|
||||||
we distribute all source code.
|
cannot distribute its SDK. That means we cannot distribute builds of
|
||||||
|
Audacity that support ASIO, because Audacity is licensed under the GPL
|
||||||
|
(http://audacity.sourceforge.net/about/license), which requires we
|
||||||
|
distribute all source code.
|
||||||
|
|
||||||
So, although you can build your own copies of Audacity with
|
So, although you can build your own copies of Audacity with
|
||||||
ASIO support, for personal use, you cannot distribute them without
|
ASIO support, for personal use, you cannot distribute them without
|
||||||
@ -224,13 +238,12 @@ ASIO SDK, e.g.,
|
|||||||
set ASIOSDK_DIR=C:\ASIOSDK2
|
set ASIOSDK_DIR=C:\ASIOSDK2
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
-----------------------
|
|
||||||
MSVC++ STEP 6: Build Audacity
|
MSVC++ STEP 6: Build Audacity
|
||||||
-----------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
Now you can compile Audacity. Run Visual C++ and load the Audacity
|
Run Visual C++ and load the Audacity solution,
|
||||||
solution, "audacity\win\audacity.sln".
|
"audacity\win\audacity.sln".
|
||||||
|
|
||||||
Select the configuration that you wish to build:
|
Select the configuration that you wish to build:
|
||||||
* "Release" for Unicode-based, general use
|
* "Release" for Unicode-based, general use
|
||||||
@ -245,9 +258,9 @@ Build Audacity by giving the "Build" menu > "Rebuild Solution"
|
|||||||
command.
|
command.
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
------------------------------------------------------------------------
|
||||||
MSVC++ STEP 7: Provide Access to the wxWidgets DLLs
|
MSVC++ STEP 7: Provide Access to the wxWidgets DLLs
|
||||||
-----------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
Each Audacity executable needs access to five specific wxWidgets
|
Each Audacity executable needs access to five specific wxWidgets
|
||||||
DLLs from those you built in "MSVC++ STEP 2: Build wxWidgets"
|
DLLs from those you built in "MSVC++ STEP 2: Build wxWidgets"
|
||||||
@ -291,9 +304,9 @@ installation of the wxWidgets source and the latest Audacity source
|
|||||||
from SVN". So if that's not what you attempted, please try that first.
|
from SVN". So if that's not what you attempted, please try that first.
|
||||||
|
|
||||||
|
|
||||||
---------------------------
|
------------------------------------------------------------------------
|
||||||
HELP! I get linker errors!
|
HELP! I get linker errors!
|
||||||
---------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
In some cases, Audacity does compile, but during the linking
|
In some cases, Audacity does compile, but during the linking
|
||||||
process you get a bunch of error messages like this:
|
process you get a bunch of error messages like this:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user