Cannot get Audacity to compile with MS VC++ 2010

On 13 July 2010 I grabbed a clean copy of the SVN head. I tried to compile with MS’ Visual C++ 2010 Express and got four fatal errors:


D:audioAudacitySVNlib-srcportaudio-v19srchostapidsound does indeed contain the referenced files so I am guessing that
ILAGSDXSDK_DIR is not correctly refering to D:audioAudacitySVNlib-srcportaudio-v19:

------ Build started: Project: portaudio-v19, Configuration: Unicode Debug Win32 ------
  pa_allocation.c
  pa_converters.c
  pa_cpuload.c
  pa_debugprint.c
  pa_dither.c
  pa_front.c
  pa_process.c
  pa_ringbuffer.c
  pa_skeleton.c
  pa_stream.c
  pa_trace.c
  pa_win_wmme.c
  pa_win_hostapis.c
  pa_win_util.c
  pa_win_waveformat.c
  pa_win_wdmks_utils.c
  pa_x86_plain_converters.c
  Generating Code...
  portaudio-v19.vcxproj -> D:audioAudacitySVNwinUnicode Debugportaudio-v19.lib
  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
  Copyright (C) Microsoft Corporation.  All rights reserved.

  pa_win_ds.c
c1 : fatal error C1083: Cannot open source file: 'ILAGSDXSDK_DIR/src/hostapi/dsound/pa_win_ds.c': No such file or directory
  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
  Copyright (C) Microsoft Corporation.  All rights reserved.

  pa_win_ds_dynlink.c
c1 : fatal error C1083: Cannot open source file: 'ILAGSDXSDK_DIR/src/hostapi/dsound/pa_win_ds_dynlink.c': No such file or directory
  Microsoft (R) Library Manager Version 10.00.30319.01
  Copyright (C) Microsoft Corporation.  All rights reserved.

C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: The command "set BASE="../../../lib-src/portaudio-v19"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: set CFLAGS=/Od /I "ºSE%/include" /I "ºSE%/src/common" /I "ºSE%/src/os/win" /D "WIN32" /D "_DEBUG" /D "_LIB" /D "_MBCS" /GF /FD /EHsc /RTC1 /MDd /Gy  /Fo"Unicode Debug" /Fd"Unicode Debug" /W3 /nologo /c /ZI /wd4996 /FI "D:audioAudacitySVNwinProjectsportaudio-v19/Unicode Debug/config.h" /errorReport:prompt
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: set LIBS=
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: if "%DXSDK_DIR%"=="" goto NoDX
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%DXSDK_DIR%/include" "ºSE%/src/hostapi/dsound/pa_win_ds.c"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%DXSDK_DIR%/include" "ºSE%/src/hostapi/dsound/pa_win_ds_dynlink.c"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: set LIBS="%DXSDK_DIR%/lib/x86dxguid.lib"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: :NoDX
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: if "%ASIOSDK_DIR%"=="" goto NoASIO
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%ASIOSDK_DIR%/common" /I "%ASIOSDK_DIR%/host" /I "%ASIOSDK_DIR%/host/pc" "ºSE%/src/hostapi/asio/pa_asio.cpp"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%ASIOSDK_DIR%/common" /I "%ASIOSDK_DIR%/host" /I "%ASIOSDK_DIR%/host/pc" "ºSE%/src/hostapi/asio/iasiothiscallresolver.cpp"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%ASIOSDK_DIR%/common" /I "%ASIOSDK_DIR%/host" /I "%ASIOSDK_DIR%/host/pc" "%ASIOSDK_DIR%/common/asio.cpp"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%ASIOSDK_DIR%/common" /I "%ASIOSDK_DIR%/host" /I "%ASIOSDK_DIR%/host/pc" "%ASIOSDK_DIR%/host/asiodrivers.cpp"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%ASIOSDK_DIR%/common" /I "%ASIOSDK_DIR%/host" /I "%ASIOSDK_DIR%/host/pc" "%ASIOSDK_DIR%/host/pc/asiolist.cpp"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: :NoASIO
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: lib /OUT:"D:audioAudacitySVNwinUnicode Debugportaudio-v19.lib" "Unicode Debug*.obj" %LIBS%
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code -1.

Again, D:audioAudacitySVNlib-srcportmixersrc does contain the “missing” files so I am guessing
ILAGSDXSDK_DIR is not correctly refering to D:audioAudacitySVNlib-srcportmixer

------ Build started: Project: portmixer, Configuration: Unicode Debug Win32 ------
  px_mixer.c
  px_win_common.c
  px_win_endpoint.c
d:audioaudacitysvnlib-srcportmixersrcpx_win_endpoint.c(64): warning C4995: '_vsnprintf': name was marked as #pragma deprecated
  px_win_wmme.c
  Generating Code...
  portmixer.vcxproj -> D:audioAudacitySVNwinUnicode Debugportmixer.lib
  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
  Copyright (C) Microsoft Corporation.  All rights reserved.

  px_win_ds.c
c1 : fatal error C1083: Cannot open source file: 'ILAGSDXSDK_DIR/src/px_win_ds.c': No such file or directory
  Microsoft (R) Library Manager Version 10.00.30319.01
  Copyright (C) Microsoft Corporation.  All rights reserved.

C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: The command "set BASE="../../../lib-src/portmixer"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: set CFLAGS=/Od /I "ºSE%/../portaudio-v19/include" /I "ºSE%/include" /D "WIN32" /D "_DEBUG" /D "_LIB" /D "PX_USE_WIN_MME" /D "_MBCS" /GF /FD /EHsc /RTC1 /MDd /Gy /Fo"Unicode Debug" /Fd"Unicode Debug" /W3 /nologo /c /ZI /wd4996 /FI "D:audioAudacitySVNwinProjectsportmixer/Unicode Debug/config.h" /errorReport:prompt
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: set LIBS=
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: if "%DXSDK_DIR%"=="" goto NoDX
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: cl ÏLAGS% /I "%DXSDK_DIR%/include" "ºSE%/src/px_win_ds.c"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: set LIBS="%DXSDK_DIR%/lib/x86/dxguid.lib"
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: :NoDX
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: lib /OUT:"D:audioAudacitySVNwinUnicode Debugportmixer.lib" "Unicode Debug*.obj" %LIBS%
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code -1.

I am surprised that the ambiguous overload has not been noted before (if indeed it is ambiguous).
As for the dll interface issues, I do not know what that is all about.
The ambiguous CTOR overload also should have been caught earlier if it is really ambiguous.

------ Build started: Project: taglib, Configuration: Unicode Debug Win32 ------
  apefooter.cpp
d:audioaudacitysvnlib-srctaglibtaglibapeapefooter.cpp(192): error C2668: 'std::bitset<_Bits>::bitset' : ambiguous call to overloaded function
          with
          [
              _Bits=32
          ]
          c:program files (x86)microsoft visual studio 10.0vcincludebitset(136): could be 'std::bitset<_Bits>::bitset(_ULonglong)'
          with
          [
              _Bits=32
          ]
          c:program files (x86)microsoft visual studio 10.0vcincludebitset(127): or       'std::bitset<_Bits>::bitset(int)'
          with
          [
              _Bits=32
          ]
          while trying to match the argument list '(TagLib::uint)'
  mpcproperties.cpp
d:audioaudacitysvnlib-srctaglibtaglibtoolkittfile.h(48): warning C4251: 'TagLib::FileName::m_name' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'TagLib::FileName'
          with
          [
              _Elem=char,
              _Traits=std::char_traits<char>,
              _Ax=std::allocator<char>
          ]
d:audioaudacitysvnlib-srctaglibtaglibtoolkittfile.h(49): warning C4251: 'TagLib::FileName::m_wname' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'TagLib::FileName'
          with
          [
              _Elem=wchar_t,
              _Traits=std::char_traits<wchar_t>,
              _Ax=std::allocator<wchar_t>
          ]
d:audioaudacitysvnlib-srctaglibtaglibmpcmpcproperties.cpp(116): error C2440: 'initializing' : cannot convert from 'TagLib::uint' to 'std::bitset<_Bits>'
          with
          [
              _Bits=32
          ]
          No constructor could take the source type, or constructor overload resolution was ambiguous
  mpegheader.cpp
d:audioaudacitysvnlib-srctaglibtaglibmpegmpegheader.cpp(171): error C2668: 'std::bitset<_Bits>::bitset' : ambiguous call to overloaded function
          with
          [
              _Bits=32
          ]
          c:program files (x86)microsoft visual studio 10.0vcincludebitset(136): could be 'std::bitset<_Bits>::bitset(_ULonglong)'
          with
          [
              _Bits=32
          ]
          c:program files (x86)microsoft visual studio 10.0vcincludebitset(127): or       'std::bitset<_Bits>::bitset(int)'
          with
          [
              _Bits=32
          ]
          while trying to match the argument list '(TagLib::uint)'
  Generating Code...

I have no idea what is goin astray here!

------ Build started: Project: Audacity, Configuration: Unicode Debug Win32 ------
D:audioAudacitySVNwinny.targets(65,5): error MSB4023: Cannot evaluate the item metadata "%(Extension)". The item metadata "%(Extension)" cannot be applied to the path ""D:audioAudacitySVNwinUnicode DebugAudacity.vcxprojanalyze.ny"". Illegal characters in path.

========== Build: 4 succeeded, 4 failed, 19 up-to-date, 4 skipped ==========

I don’t think anyone has got SVN to compile with MS VC++ 2010 yet. Fortunately 2008 Express is still available and Audacity compiles easily with that.

Can you add a P3 bug to bugzilla please, you have permissions.


Thanks


Gale

Done–bug 178

I didn’t know Visual Studio 2008 was still available, If I had I would have gotten it instead of 2010 as it is I am now downloading 2008 but maybe this link could be mentioned in the compile instructions or on the ASIO Audio Interface wiki page.