Thread: [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-11 08:50:49
|
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. |
From: Leland <ll...@ho...> - 2021-05-11 16:34:45
|
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. |
From: Leland <ll...@ho...> - 2021-05-11 17:44:43
|
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... <mailto:drb...@gm...> > Sent: Tuesday, May 11, 2021 3:50 AM To: Audacity Development <aud...@li... <mailto: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. |
From: Leland <ll...@ho...> - 2021-05-11 18:02:44
|
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... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 11:35 AM To: aud...@li... <mailto: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... <mailto:drb...@gm...> > Sent: Tuesday, May 11, 2021 3:50 AM To: Audacity Development <aud...@li... <mailto: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. |
From: Leland <ll...@ho...> - 2021-05-11 18:12:35
|
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... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 12:44 PM To: aud...@li... <mailto: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... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 11:35 AM To: aud...@li... <mailto: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... <mailto:drb...@gm...> > Sent: Tuesday, May 11, 2021 3:50 AM To: Audacity Development <aud...@li... <mailto: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. |
From: Leland <ll...@ho...> - 2021-05-11 20:01:12
Attachments:
fix_windows_build.patch
|
Patch is attached. I don’t feel like hassling with a pull request just for this…times are a changing. 😊 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... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 1:02 PM To: aud...@li... <mailto:aud...@li...> Subject: Re: [Audacity-devel] local build problem on Windows Hold off…this may be incorrect. Still digging. From: Leland <ll...@ho... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 12:44 PM To: aud...@li... <mailto: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... <mailto: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... <mailto:drb...@gm...> > Sent: Tuesday, May 11, 2021 3:50 AM To: Audacity Development <aud...@li... <mailto: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. |
From: Paul L. <pau...@gm...> - 2021-05-11 21:51:18
|
On Tue, May 11, 2021 at 2:13 PM Leland <ll...@ho...> wrote: > Honestly, I don’t know what’s going on. It builds if I configure with: > > > > cmake -Daudacity_use_pch=no > That's how GitHub actions builds it, yes? > > > 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 > I'm sorry, then it was my doing when I tried to eliminate Audacity.h and needed another solution for inclusion of the config files. PRL > > > *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 > |
From: Cliff <fly...@gm...> - 2021-05-12 03:43:52
|
Build also fails on MacOS. fatal error: '/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx' file not found #include "/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ** BUILD FAILED ** The following build commands failed: CompileC bld/src/Audacity.build/Release/Audacity.build/Objects-normal/x86_64/AllThemeResources.o src/AllThemeResources.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (1 failure) Cliff > On May 11, 2021, at 16:50, Paul Licameli <pau...@gm...> wrote: > > > > On Tue, May 11, 2021 at 2:13 PM Leland <ll...@ho... <mailto:ll...@ho...>> wrote: > Honestly, I don’t know what’s going on. It builds if I configure with: > > > > cmake -Daudacity_use_pch=no > > > That's how GitHub actions builds it, yes? > > > > 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 > > > I'm sorry, then it was my doing when I tried to eliminate Audacity.h and needed another solution for inclusion of the config files. > > PRL > > > > > From: Leland <ll...@ho... <mailto:ll...@ho...>> > Sent: Tuesday, May 11, 2021 1:02 PM > To: aud...@li... <mailto:aud...@li...> > Subject: Re: [Audacity-devel] local build problem on Windows > > > > Hold off…this may be incorrect. Still digging. > > > > From: Leland <ll...@ho... <mailto:ll...@ho...>> > Sent: Tuesday, May 11, 2021 12:44 PM > To: aud...@li... <mailto: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... <mailto:ll...@ho...>> > Sent: Tuesday, May 11, 2021 11:35 AM > To: aud...@li... <mailto: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... <mailto:drb...@gm...>> > Sent: Tuesday, May 11, 2021 3:50 AM > To: Audacity Development <aud...@li... <mailto: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... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > _______________________________________________ > audacity-devel mailing list > aud...@li... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> |
From: Leland <ll...@ho...> - 2021-05-12 04:10:23
|
Cliff, have you tried deleting your build directory and running cmake from scratch? From: Cliff <fly...@gm...> Sent: Tuesday, May 11, 2021 10:44 PM To: aud...@li... Subject: Re: [Audacity-devel] local build problem on Windows Build also fails on MacOS. fatal error: '/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx' file not found #include "/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ** BUILD FAILED ** The following build commands failed: CompileC bld/src/Audacity.build/Release/Audacity.build/Objects-normal/x86_64/AllThemeResources.o src/AllThemeResources.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (1 failure) Cliff On May 11, 2021, at 16:50, Paul Licameli <pau...@gm... <mailto:pau...@gm...> > wrote: On Tue, May 11, 2021 at 2:13 PM Leland <ll...@ho... <mailto:ll...@ho...> > wrote: Honestly, I don’t know what’s going on. It builds if I configure with: cmake -Daudacity_use_pch=no That's how GitHub actions builds it, yes? 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 I'm sorry, then it was my doing when I tried to eliminate Audacity.h and needed another solution for inclusion of the config files. PRL From: Leland <ll...@ho... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 1:02 PM To: aud...@li... <mailto:aud...@li...> Subject: Re: [Audacity-devel] local build problem on Windows Hold off…this may be incorrect. Still digging. From: Leland <ll...@ho... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 12:44 PM To: aud...@li... <mailto: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... <mailto:ll...@ho...> > Sent: Tuesday, May 11, 2021 11:35 AM To: aud...@li... <mailto: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... <mailto:drb...@gm...> > Sent: Tuesday, May 11, 2021 3:50 AM To: Audacity Development <aud...@li... <mailto: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... <mailto:aud...@li...> https://lists.sourceforge.net/lists/listinfo/audacity-devel _______________________________________________ audacity-devel mailing list <mailto:aud...@li...> aud...@li... <https://lists.sourceforge.net/lists/listinfo/audacity-devel> https://lists.sourceforge.net/lists/listinfo/audacity-devel |
From: Cliff <fly...@gm...> - 2021-05-12 06:47:29
|
Yes, I did that. Cliff > On May 11, 2021, at 23:10, Leland <ll...@ho...> wrote: > > Cliff, have you tried deleting your build directory and running cmake from scratch? > > From: Cliff <fly...@gm...> > Sent: Tuesday, May 11, 2021 10:44 PM > To: aud...@li... > Subject: Re: [Audacity-devel] local build problem on Windows > > Build also fails on MacOS. > > fatal error: '/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx' file not found > #include "/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx" > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ** BUILD FAILED ** > > > The following build commands failed: > CompileC bld/src/Audacity.build/Release/Audacity.build/Objects-normal/x86_64/AllThemeResources.o src/AllThemeResources.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler > (1 failure) > > > Cliff > > >> On May 11, 2021, at 16:50, Paul Licameli <pau...@gm... <mailto:pau...@gm...>> wrote: >> >> >> >> On Tue, May 11, 2021 at 2:13 PM Leland <ll...@ho... <mailto:ll...@ho...>> wrote: >>> Honestly, I don’t know what’s going on. It builds if I configure with: >>> >>> cmake -Daudacity_use_pch=no >> >> That's how GitHub actions builds it, yes? >> >>> >>> 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 >> >> I'm sorry, then it was my doing when I tried to eliminate Audacity.h and needed another solution for inclusion of the config files. >> >> PRL >> >> >>> >>> From: Leland <ll...@ho... <mailto:ll...@ho...>> >>> Sent: Tuesday, May 11, 2021 1:02 PM >>> To: aud...@li... <mailto:aud...@li...> >>> Subject: Re: [Audacity-devel] local build problem on Windows >>> >>> Hold off…this may be incorrect. Still digging. >>> >>> From: Leland <ll...@ho... <mailto:ll...@ho...>> >>> Sent: Tuesday, May 11, 2021 12:44 PM >>> To: aud...@li... <mailto: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... <mailto:ll...@ho...>> >>> Sent: Tuesday, May 11, 2021 11:35 AM >>> To: aud...@li... <mailto: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... <mailto:drb...@gm...>> >>> Sent: Tuesday, May 11, 2021 3:50 AM >>> To: Audacity Development <aud...@li... <mailto: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... <mailto:aud...@li...> >>> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> >> _______________________________________________ >> audacity-devel mailing list >> aud...@li... <mailto:aud...@li...> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > > _______________________________________________ > audacity-devel mailing list > aud...@li... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> |
From: Paul L. <pau...@gm...> - 2021-05-12 07:55:54
|
It seems I broke builds with precompiled headers with commit 794f4e5, but that did not break the automated builds. This should not be too hard to figure out I hope. I'll see if I can. PRL On Wed, May 12, 2021 at 2:48 AM Cliff <fly...@gm...> wrote: > Yes, I did that. > > Cliff > > On May 11, 2021, at 23:10, Leland <ll...@ho...> wrote: > > Cliff, have you tried deleting your build directory and running cmake from > scratch? > > *From:* Cliff <fly...@gm...> > *Sent:* Tuesday, May 11, 2021 10:44 PM > *To:* aud...@li... > *Subject:* Re: [Audacity-devel] local build problem on Windows > > Build also fails on MacOS. > > fatal error: > '/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx' > file not found > #include > "/Users/CMac/Downloads/Audacity/BuildEnvironment/audacity/bld/src/SharedPrecompiledHeaders/cmake_pch-bhvpwdmrkbsbbhamvazvevthymfp/cmake_pch.hxx" > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ** BUILD FAILED ** > > > The following build commands failed: > CompileC > bld/src/Audacity.build/Release/Audacity.build/Objects-normal/x86_64/AllThemeResources.o > src/AllThemeResources.cpp normal x86_64 c++ > com.apple.compilers.llvm.clang.1_0.compiler > (1 failure) > > > Cliff > > > On May 11, 2021, at 16:50, Paul Licameli <pau...@gm...> wrote: > > > > On Tue, May 11, 2021 at 2:13 PM Leland <ll...@ho...> wrote: > > Honestly, I don’t know what’s going on. It builds if I configure with: > > cmake -Daudacity_use_pch=no > > > That's how GitHub actions builds it, yes? > > > > 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 > > > I'm sorry, then it was my doing when I tried to eliminate Audacity.h and > needed another solution for inclusion of the config files. > > PRL > > > > > *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 > > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > > > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > > > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > |
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 > |
From: James C. <jam...@gm...> - 2021-05-12 13:31:52
|
Thanks for the quick confirmation of a fix. On Wed, 12 May 2021 at 13:18, David Bailes <drb...@gm...> wrote: > 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 >> > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > |
From: Paul L. <pau...@gm...> - 2021-05-12 13:38:57
|
Mac needs fixing too. I will figure it out and push. PRL On Wed, May 12, 2021 at 9:32 AM James Crook <jam...@gm...> wrote: > Thanks for the quick confirmation of a fix. > > On Wed, 12 May 2021 at 13:18, David Bailes <drb...@gm...> wrote: > >> 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 >>> >> _______________________________________________ >> audacity-devel mailing list >> aud...@li... >> https://lists.sourceforge.net/lists/listinfo/audacity-devel >> > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > |
From: Paul L. <pau...@gm...> - 2021-05-12 16:33:37
|
I wrote a more general fix than Leland's that should be good on all platforms. I have confirmed it fixes the Mac build with precompiled headers on. Leland, please review and merge it. https://github.com/audacity/audacity/pull/886 PRL On Wed, May 12, 2021 at 9:38 AM Paul Licameli <pau...@gm...> wrote: > Mac needs fixing too. > > I will figure it out and push. > > PRL > > > On Wed, May 12, 2021 at 9:32 AM James Crook <jam...@gm...> > wrote: > >> Thanks for the quick confirmation of a fix. >> >> On Wed, 12 May 2021 at 13:18, David Bailes <drb...@gm...> wrote: >> >>> 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 >>>> >>> _______________________________________________ >>> audacity-devel mailing list >>> aud...@li... >>> https://lists.sourceforge.net/lists/listinfo/audacity-devel >>> >> _______________________________________________ >> audacity-devel mailing list >> aud...@li... >> https://lists.sourceforge.net/lists/listinfo/audacity-devel >> > |
From: Cliff <fly...@gm...> - 2021-05-13 14:49:43
|
Any idea of when this will get into Master? Cliff > On May 12, 2021, at 11:33, Paul Licameli <pau...@gm...> wrote: > > I wrote a more general fix than Leland's that should be good on all platforms. I have confirmed it fixes the Mac build with precompiled headers on. > > Leland, please review and merge it. > > https://github.com/audacity/audacity/pull/886 <https://github.com/audacity/audacity/pull/886> > > PRL > > > > On Wed, May 12, 2021 at 9:38 AM Paul Licameli <pau...@gm... <mailto:pau...@gm...>> wrote: > Mac needs fixing too. > > I will figure it out and push. > > PRL > > > On Wed, May 12, 2021 at 9:32 AM James Crook <jam...@gm... <mailto:jam...@gm...>> wrote: > Thanks for the quick confirmation of a fix. > > On Wed, 12 May 2021 at 13:18, David Bailes <drb...@gm... <mailto:drb...@gm...>> wrote: > On Tue, 11 May 2021 at 21:02, Leland <ll...@ho... <mailto: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... <mailto:ll...@ho...>> > Sent: Tuesday, May 11, 2021 1:12 PM > To: aud...@li... <mailto: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... <mailto:ll...@ho...>> > Sent: Tuesday, May 11, 2021 1:02 PM > To: aud...@li... <mailto:aud...@li...> > Subject: Re: [Audacity-devel] local build problem on Windows > > > > Hold off…this may be incorrect. Still digging. > > > > From: Leland <ll...@ho... <mailto:ll...@ho...>> > Sent: Tuesday, May 11, 2021 12:44 PM > To: aud...@li... <mailto: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... <mailto:ll...@ho...>> > Sent: Tuesday, May 11, 2021 11:35 AM > To: aud...@li... <mailto: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... <mailto:drb...@gm...>> > Sent: Tuesday, May 11, 2021 3:50 AM > To: Audacity Development <aud...@li... <mailto: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... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > _______________________________________________ > audacity-devel mailing list > aud...@li... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > _______________________________________________ > audacity-devel mailing list > aud...@li... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel |
From: David B. <drb...@gm...> - 2021-05-13 15:13:16
|
On Thu, 13 May 2021 at 15:50, Cliff <fly...@gm...> wrote: > Any idea of when this will get into Master? > It's already in: https://github.com/audacity/audacity/commit/b52192c4c4eec12a1b9fccac31d77fce6746bc52 David. > > Cliff > > On May 12, 2021, at 11:33, Paul Licameli <pau...@gm...> wrote: > > I wrote a more general fix than Leland's that should be good on all > platforms. I have confirmed it fixes the Mac build with precompiled > headers on. > > Leland, please review and merge it. > > https://github.com/audacity/audacity/pull/886 > > PRL > > > > On Wed, May 12, 2021 at 9:38 AM Paul Licameli <pau...@gm...> > wrote: > >> Mac needs fixing too. >> >> I will figure it out and push. >> >> PRL >> >> >> On Wed, May 12, 2021 at 9:32 AM James Crook <jam...@gm...> >> wrote: >> >>> Thanks for the quick confirmation of a fix. >>> >>> On Wed, 12 May 2021 at 13:18, David Bailes <drb...@gm...> wrote: >>> >>>> 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 >>>>> >>>> _______________________________________________ >>>> audacity-devel mailing list >>>> aud...@li... >>>> https://lists.sourceforge.net/lists/listinfo/audacity-devel >>>> >>> _______________________________________________ >>> audacity-devel mailing list >>> aud...@li... >>> https://lists.sourceforge.net/lists/listinfo/audacity-devel >>> >> _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > > > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > |
From: Cliff <fly...@gm...> - 2021-05-13 16:25:23
|
Thanks David. The first time I tried to compile it failed the same way as before, but now running again without pulling anything new, it worked. I’ve seen that several times with cmake, like it takes one try to build something then the second try to use it. Cliff > On May 13, 2021, at 10:12, David Bailes <drb...@gm...> wrote: > > On Thu, 13 May 2021 at 15:50, Cliff <fly...@gm... <mailto:fly...@gm...>> wrote: > Any idea of when this will get into Master? > > It's already in: > https://github.com/audacity/audacity/commit/b52192c4c4eec12a1b9fccac31d77fce6746bc52 <https://github.com/audacity/audacity/commit/b52192c4c4eec12a1b9fccac31d77fce6746bc52> > > David. > > > Cliff > >> On May 12, 2021, at 11:33, Paul Licameli <pau...@gm... <mailto:pau...@gm...>> wrote: >> >> I wrote a more general fix than Leland's that should be good on all platforms. I have confirmed it fixes the Mac build with precompiled headers on. >> >> Leland, please review and merge it. >> >> https://github.com/audacity/audacity/pull/886 <https://github.com/audacity/audacity/pull/886> >> >> PRL >> >> >> >> On Wed, May 12, 2021 at 9:38 AM Paul Licameli <pau...@gm... <mailto:pau...@gm...>> wrote: >> Mac needs fixing too. >> >> I will figure it out and push. >> >> PRL >> >> >> On Wed, May 12, 2021 at 9:32 AM James Crook <jam...@gm... <mailto:jam...@gm...>> wrote: >> Thanks for the quick confirmation of a fix. >> >> On Wed, 12 May 2021 at 13:18, David Bailes <drb...@gm... <mailto:drb...@gm...>> wrote: >> On Tue, 11 May 2021 at 21:02, Leland <ll...@ho... <mailto: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... <mailto:ll...@ho...>> >> Sent: Tuesday, May 11, 2021 1:12 PM >> To: aud...@li... <mailto: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... <mailto:ll...@ho...>> >> Sent: Tuesday, May 11, 2021 1:02 PM >> To: aud...@li... <mailto:aud...@li...> >> Subject: Re: [Audacity-devel] local build problem on Windows >> >> >> >> Hold off…this may be incorrect. Still digging. >> >> >> >> From: Leland <ll...@ho... <mailto:ll...@ho...>> >> Sent: Tuesday, May 11, 2021 12:44 PM >> To: aud...@li... <mailto: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... <mailto:ll...@ho...>> >> Sent: Tuesday, May 11, 2021 11:35 AM >> To: aud...@li... <mailto: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... <mailto:drb...@gm...>> >> Sent: Tuesday, May 11, 2021 3:50 AM >> To: Audacity Development <aud...@li... <mailto: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... <mailto:aud...@li...> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> >> _______________________________________________ >> audacity-devel mailing list >> aud...@li... <mailto:aud...@li...> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> >> _______________________________________________ >> audacity-devel mailing list >> aud...@li... <mailto:aud...@li...> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> >> _______________________________________________ >> audacity-devel mailing list >> aud...@li... <mailto:aud...@li...> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > > _______________________________________________ > audacity-devel mailing list > aud...@li... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > _______________________________________________ > audacity-devel mailing list > aud...@li... <mailto:aud...@li...> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> |