I’m now at this part: You will also need the Microsoft SDK (software development kit). Which version you need depends on your operating system. Look here:
Microsoft SDK Overview
to get the appropriate version for your system. Be forewarned, this is a lengthy process with numerous reboots!
Can anyone tell me which Windows SDK I should be downloading? It looks like there’s 2008, 2010, and 2012. Given that the instructions say to use Microsoft VC++ 2008, I was thinking to use SDK 2008, but there’s a note saying this doesn’t support the Express version of VC++ 2008. Thoughts?
I’m the author of the web page to which you are referring. Since I wrote that website the MSD site has changed quite a bit! It looks like they are trying hard to make accessing older tools difficult. Today I did not find any way to actually download the SDK for VC++ 2008 Express. I would suggest installing VC++ 2010 Express and following the messy steps required to get Audacity to compile with it; they can be found in another topic in this forum.
I will spend some more time later today and see if I can track down the SDK for VC++ 2008 Express.
After a bit of searching I find you may still get the old SDK: http://www.microsoft.com/en-us/download/details.aspx?id=24826
but they strongly suggest otherwise! The service pack 1 for this SDK adds support for VC++ 2008 Express (which answers your original question).
Hopefully the Audacity Developers will be dragged (kicking and screaming) into the modern age and adopt VC++ 2010 Express (2012 is still too buggy) !
I had managed to find the correct SDK yesterday. So far so good (I think!). I’m about to begin Step 5 under the Audacity heading, which is where you say “Get & compile the Audacity SVN HEAD.” I may be back quite soon with more questions…
I’m at this stage: 6b) Open the location of the folder in which you just checked out Audacity (not the folder into which you actually checked out Audacity); create a new folder and call it “wxLibs” or anything else which suits you (this will be your wxWidgets working libraries); open that new folder, and within it create a new folder “Unicode Release” (it must be exactly that). Now open your wxWidgets DLL library ( C:wxWidgets-2.8.12libvc_dll ) and copy the following five files into that newly created wxLibsUnicode Release (or whatever you called it) folder:
And I can’t find these two files to copy into the Unicode Release folder:
Ok, so I thought I was close, but I keep getting an error in my attempt to build Audacity. Here’s the warnings and the error from the log. And Edgar, I saw the post where you recommended Select All and Clean and also deleting the filedialog.lib file, but it didn’t seem to make any difference, though I’m sure I’m doing/did something wrong…
[b]c:usersmattdocumentsnew folderlib-srcffmpeglibavutilcommon.h(155) : warning C4244: 'return' : conversion from 'int64_t' to 'int32_t', possible loss of data
ExportFFmpeg.cpp
c:usersmattdocumentsnew folderlib-srcffmpeglibavutilcommon.h(155) : warning C4244: 'return' : conversion from 'int64_t' to 'int32_t', possible loss of data[/b]
ExportCL.cpp
Export.cpp
VSTEffect.cpp
Wahwah.cpp
Compiling...
TwoPassSimpleMono.cpp
TruncSilence.cpp
ToneGen.cpp
TimeWarper.cpp
TimeScale.cpp
StereoToMono.cpp
SoundTouchEffect.cpp
SimplePairedTwoTrack.cpp
SimpleMono.cpp
Silence.cpp
ScoreAlignDialog.cpp
SBSMSEffect.cpp
Reverse.cpp
Repeat.cpp
Repair.cpp
Phaser.cpp
Paulstretch.cpp
Normalize.cpp
NoiseRemoval.cpp
Noise.cpp
Compiling...
LoadEffects.cpp
Leveller.cpp
Invert.cpp
Generator.cpp
FindClipping.cpp
Fade.cpp
Equalization.cpp
EffectManager.cpp
EffectCategory.cpp
Effect.cpp
Echo.cpp
DtmfGen.cpp
Contrast.cpp
Compressor.cpp
ClickRemoval.cpp
ChangeTempo.cpp
ChangeSpeed.cpp
ChangePitch.cpp
BassBoost.cpp
AutoDuck.cpp
Compiling...
Amplify.cpp
WrappedType.cpp
WaveTrack.cpp
WaveClip.cpp
VoiceKey.cpp
UploadDialog.cpp
UndoManager.cpp
TrackPanelAx.cpp
TrackPanel.cpp
TrackArtist.cpp
Track.cpp
TimeTrack.cpp
TimerRecordDialog.cpp
TimeDialog.cpp
Theme.cpp
Tags.cpp
SplashDialog.cpp
Spectrum.cpp
Snap.cpp
ShuttlePrefs.cpp
Compiling...
ShuttleGui.cpp
Shuttle.cpp
Sequence.cpp
Screenshot.cpp
SampleFormat.cpp
RingBuffer.cpp
Resample.cpp
RealFFTf.cpp
Project.cpp
Profiler.cpp
Printing.cpp
Prefs.cpp
PluginManager.cpp
PlatformCompatibility.cpp
PitchName.cpp
NoteTrack.cpp
NonGuiThread.cpp
MixerBoard.cpp
Mix.cpp
Menus.cpp
Compiling...
Matrix.cpp
LyricsWindow.cpp
Lyrics.cpp
LoadModules.cpp
Legacy.cpp
Languages.cpp
LangChoice.cpp
LabelTrack.cpp
LabelDialog.cpp
InterpolateAudio.cpp
Internat.cpp
ImageManipulation.cpp
HistoryWindow.cpp
HelpText.cpp
FreqWindow.cpp
FileNames.cpp
FileIO.cpp
FileFormats.cpp
FFT.cpp
FFmpeg.cpp
[b]c:usersmattdocumentsnew folderlib-srcffmpeglibavutilcommon.h(155) : warning C4244: 'return' : conversion from 'int64_t' to 'int32_t', possible loss of data[/b]
Compiling...
Envelope.cpp
Dither.cpp
DirManager.cpp
DeviceManager.cpp
Dependencies.cpp
CaptureEvents.cpp
BlockFile.cpp
Benchmark.cpp
BatchProcessDialog.cpp
BatchCommands.cpp
BatchCommandDialog.cpp
AutoRecovery.cpp
AudioIO.cpp
AudacityHeaders.cpp
AudacityApp.cpp
AColor.cpp
AboutDialog.cpp
Compiling...
SoundActivatedRecord.cpp
Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
Linking...
[b]LINK : fatal error LNK1181: cannot open input file 'filedialog.lib'
Results Build log was saved at "file://c:UsersMattDocumentsNew FolderwinProjectsAudacityUnicode ReleaseBuildLog.htm"[/b]
Audacity - 1 error(s), 3 warning(s)
First, the warning should be ignored–it is an intentional truncation of data.
As to the link error, for some reason filedialog.lib is not being found; it should be in “winUnicode Release” (or: “winRelease”, “winDebug”, “winUnicode Debug” depending on the configuration you are building. BTW, which are you building?) . I’m not sure why this is happening but the compile instructions are being worked on the last week or so and things may be broken. I will check out a new, clean SVN in a moment and see what happens…
Is there any chance you are not compiling the whole “solution” (and only building the Audacity “project”)? This error is what I would expect to occur in that case. The simplest test is to start VC++, choose the Audacity “Unicode Debug” configuration then (from the toolbar’s green triangle button) run Audacity in debug mode. This will make sure everything is compiled.
…I just finished DLing & compiling the current SVN HEAD–12013–all worked fine for me, no problem with filedialog.lib.
Keep me posted here–I have subscribed to this topic and will be around most of the day and all day tomorrow.
Ok, here’s one part that I didn’t understand the first time and still don’t:
Now would be a good time to open the text file: C:wxWidgets-2.8.12BuildCVS.txt because you need to do step c): (Copy c:wxWidgetsincludewxmswsetup0.h to c:wxWidgetsincludewxmswsetup.h), note that setup.h is staying in the same directory as setup0.h, in effect you are just changing the name of setup0.h while keeping a backup. You will need to change two of the #defines later as the default features are not appropriate for Audacity.
I look in the folder wince and found the setup.h but not setup0.h.
Now would be a good time to open the text file: C:wxWidgets-2.8.12BuildCVS.txt because you need to do step c): (Copy c:wxWidgetsincludewxmswsetup0.h to c:wxWidgetsincludewxmswsetup.h), note that setup.h is staying in the same directory as setup0.h, in effect you are just changing the name of setup0.h while keeping a backup. You will need to change two of the #defines later as the default features are not appropriate for Audacity.
It is really straight forward. Using Windows Explorer open the folder c:wxWidgetsincludewxmsw and find the file setup0.h; this insures you are in the right folder! Now, before compiling wxWidgets (or after doing a complete “clean” on wxWidgets) you need to edit the contents of setup.h so they are in line with those your situation requires. In this case you will actually just copy the setup.h that Audacity supplies into the folder which contains setup0.h as discovered above.
Skip ahead to step 6a of the instructions to find out all the details. Keep pressing on, you will get there!
I’m going to switch over to some different audio editing software for now. Perhaps I’ll come back to Audacity in the future. Thanks again for your help.
Good luck! If you ever want to try compiling Audacity again just jump in and ask away–we’re always happy to help. Just remember that there is no need to compile Audacity to use it as-is–just install it from the download, it is only the ASIO stuff that requires compiling. I do not understand why Steinberg gives ASIO away for free but will not let open source apps (like Audacity) include it out-of-the-box.
FWIW, using the Audacity-modified setup.h is completely optional. It just turns on extra accessibility features.
The answer is simple - the Steinberg licensing agreement prevents us disclosing the Steinberg code. Audacity is free and open source, ASIO is only free.
In conclusion: if all these open-source programs offer full ASIO support and provide pre-compiled executables containing it, why this is not possible also for Audacity?
I think that the Audacity developer’s team did interpret the limitations posed by Steinberg around their SDK too strictly. All these other developers did read them with more elasticity, and apparently Steinberg did not complain with them…
I think that, if Audacity really claims to become a program to be used professionally, embedded support for ASIO drivers must be present without requiring recompiling!
of course, I managed to recompile Auadacity with Asio support.
It was not really as easy as claimed, indeed.
It is perfectly clear that the source code released on Sorceforge cannot include the proprietary code included in the Steinberg SDK.
This is the same for the other programs which I cited.
I was refering to the fact that it is “forbidden” to release a precompiled version of Audacity with Asio support.
First of all, such “prohibition” is probably lacking any legal value here in Italy, and generally in Europe.
Second, I really do not see what is the problem with the GNU license.
If releasing precompiled code containing portions of not-open-sorce code was forbidden, no Windows or Osx executable could ever be released…
Said that, what I am asking is to be allowed ro redistribute to my students the precompiled version of Audacity with Asio support. Nowadays, most of them do not have enough knowledge for being able to recompile themself…
Which is ecactly the same case as for the other programs cited:
The sorce code does not contain the Steinberg SDK, whilst the precompiled executable does contain it…