Re: [Audacity-devel] local build problem on Windows
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: David B. <drb...@gm...> - 2021-05-12 12:16:54
|
On Tue, 11 May 2021 at 21:02, Leland <ll...@ho...> wrote: > Patch is attached. I don’t feel like hassling with a pull request just > for this…times are a changing. 😊 > thanks, I can confirm that this fixes the problem on Windows, David. > > > diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt > > index 3ff5911fb..e3443ce81 100644 > > --- a/src/CMakeLists.txt > > +++ b/src/CMakeLists.txt > > @@ -1316,7 +1316,15 @@ if( CMAKE_VERSION VERSION_GREATER_EQUAL "3.16" AND > NOT CCACHE_PROGRAM ) > > > > if( ${_OPT}use_pch ) > > message( STATUS "Using precompiled headers" ) > > - target_precompile_headers( ${TARGET} PRIVATE AudacityHeaders.h ) > > + target_precompile_headers( ${TARGET} > > + PRIVATE > > + # The way CMake generates the project file on Windows, the > normal > > + # "force include" of configwin.h will happen AFTER > AudacityHeaders.h > > + # is included. So, anything depending on the configwin.h > variables > > + # will not be properly defined. > > + > $<$<CXX_COMPILER_ID:MSVC>:"${CMAKE_BINARY_DIR}/src/private/configwin.h"> > > + AudacityHeaders.h > > + ) > > else() > > message( STATUS "Not using precompiled headers" ) > > endif() > > > > > > > > *From:* Leland <ll...@ho...> > *Sent:* Tuesday, May 11, 2021 1:12 PM > *To:* aud...@li... > *Subject:* Re: [Audacity-devel] local build problem on Windows > > > > Honestly, I don’t know what’s going on. It builds if I configure with: > > > > cmake -Daudacity_use_pch=no > > > > It doesn’t build if I configure with: > > > > cmake -Daudacity_use_pch=yes > > > > I thought I understood why, but every “workaround” I’ve tried so far has > failed…grrrrrr > > > > *From:* Leland <ll...@ho...> > *Sent:* Tuesday, May 11, 2021 1:02 PM > *To:* aud...@li... > *Subject:* Re: [Audacity-devel] local build problem on Windows > > > > Hold off…this may be incorrect. Still digging. > > > > *From:* Leland <ll...@ho...> > *Sent:* Tuesday, May 11, 2021 12:44 PM > *To:* aud...@li... > *Subject:* Re: [Audacity-devel] local build problem on Windows > > > > Paul, the problem is that using “/FI” to force include configwin.h > overrides the method used by CMake to include the precompiled headers. I’m > trying to devise some sort of workaround, but I don’t think it’s gonna be > pretty. > > > > *From:* Leland <ll...@ho...> > *Sent:* Tuesday, May 11, 2021 11:35 AM > *To:* aud...@li... > *Subject:* Re: [Audacity-devel] local build problem on Windows > > > > Yea, it broke the use of precompiled headers on Windows. Looking into it… > > > > *From:* David Bailes <drb...@gm...> > *Sent:* Tuesday, May 11, 2021 3:50 AM > *To:* Audacity Development <aud...@li...> > *Subject:* [Audacity-devel] local build problem on Windows > > > > Problems with my local build, using VS 2019, and using VS's cmake, as in > the build instructions in win/build.txt. > > Starting with the recent commit: 794f4e5877195e28afb230f2cdff166410fd5e37, > > I'm getting the build errors shown below, > > David. > > > > cmake_pch.cxx > U:\audacity\src\AudioIO.h(95,24): error C3646: 'midiTracks': unknown > override specifier > U:\audacity\src\AudioIO.h(95,34): error C4430: missing type specifier - > int assumed. Note: C++ does not support default-int > U:\audacity\src\AudioIO.h(270,16): error C3646: 'MidiTime': unknown > override specifier > U:\audacity\src\AudioIO.h(270,24): error C2059: syntax error: '(' > U:\audacity\src\AudioIO.h(270,26): error C2238: unexpected token(s) > preceding ';' > U:\audacity\src\AudioIO.h(368,20): error C2143: syntax error: missing ';' > before '*' > U:\audacity\src\AudioIO.h(368,20): error C4430: missing type specifier - > int assumed. Note: C++ does not support default-int > U:\audacity\src\AudioIO.h(368,32): error C2238: unexpected token(s) > preceding ';' > U:\audacity\src\AudioIO.h(392,16): error C3646: 'mMaxMidiTimestamp': > unknown override specifier > U:\audacity\src\AudioIO.h(392,33): error C4430: missing type specifier - > int assumed. Note: C++ does not support default-int > U:\audacity\src\AudioIO.h(415,17): error C2143: syntax error: missing ';' > before '*' > U:\audacity\src\AudioIO.h(415,17): error C4430: missing type specifier - > int assumed. Note: C++ does not support default-int > U:\audacity\src\AudioIO.h(415,22): error C2238: unexpected token(s) > preceding ';' > U:\audacity\src\AudioIO.h(416,20): error C2065: 'Alg_iterator': undeclared > identifier > U:\audacity\src\AudioIO.h(416,9): error C2923: 'std::unique_ptr': > 'Alg_iterator' is not a valid template type argument for parameter '_Ty' > U:\audacity\src\AudioIO.h(416,9): error C2976: 'std::unique_ptr': too few > template arguments > C:\Program Files (x86)\Microsoft Visual > Studio\2019\Community\VC\Tools\MSVC\14.28.29910\include\memory(3319): > message : see declaration of 'std::unique_ptr' > [U:\audacity\out\build\x86-Debug\src\Audacity.vcxproj] > U:\audacity\src\AudioIO.h(418,17): error C2143: syntax error: missing ';' > before '*' > U:\audacity\src\AudioIO.h(418,17): error C4430: missing type specifier - > int assumed. Note: C++ does not support default-int > U:\audacity\src\AudioIO.h(418,28): error C2238: unexpected token(s) > preceding ';' > U:\audacity\src\AudioIO.h(428,21): error C2143: syntax error: missing ';' > before '*' > U:\audacity\src\AudioIO.h(428,21): error C4430: missing type specifier - > int assumed. Note: C++ does not support default-int > U:\audacity\src\AudioIO.h(428,37): error C2238: unexpected token(s) > preceding ';' > U:\audacity\src\AudioIO.h(434,24): error C3646: 'mMidiPlaybackTracks': > unknown override specifier > U:\audacity\src\AudioIO.h(434,43): error C4430: missing type specifier - > int assumed. Note: C++ does not support default-int > > Build All failed. > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > |