Re: local build problem on Windows
Cliff <[email protected]> Thu, 13 May 2021 11:25:05 -0500
| Newsgroups | gmane.comp.audio.audacity.devel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> wrote: > > On Thu, 13 May 2021 at 15:50, Cliff <[email protected] <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>> wrote: >> Mac needs fixing too. >> >> I will figure it out and push. >> >> PRL >> >> >> On Wed, May 12, 2021 at 9:32 AM James Crook <[email protected] <mailto:[email protected]>> wrote: >> Thanks for the quick confirmation of a fix. >> >> On Wed, 12 May 2021 at 13:18, David Bailes <[email protected] <mailto:[email protected]>> wrote: >> On Tue, 11 May 2021 at 21:02, Leland <[email protected] <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>> >> Sent: Tuesday, May 11, 2021 1:12 PM >> To: [email protected] <mailto:[email protected]> >> 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 <[email protected] <mailto:[email protected]>> >> Sent: Tuesday, May 11, 2021 1:02 PM >> To: [email protected] <mailto:[email protected]> >> Subject: Re: [Audacity-devel] local build problem on Windows >> >> >> >> Hold off…this may be incorrect. Still digging. >> >> >> >> From: Leland <[email protected] <mailto:[email protected]>> >> Sent: Tuesday, May 11, 2021 12:44 PM >> To: [email protected] <mailto:[email protected]> >> 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 <[email protected] <mailto:[email protected]>> >> Sent: Tuesday, May 11, 2021 11:35 AM >> To: [email protected] <mailto:[email protected]> >> 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 <[email protected] <mailto:[email protected]>> >> Sent: Tuesday, May 11, 2021 3:50 AM >> To: Audacity Development <[email protected] <mailto:[email protected]>> >> 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 >> [email protected] <mailto:[email protected]> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> >> _______________________________________________ >> audacity-devel mailing list >> [email protected] <mailto:[email protected]> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> >> _______________________________________________ >> audacity-devel mailing list >> [email protected] <mailto:[email protected]> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> >> _______________________________________________ >> audacity-devel mailing list >> [email protected] <mailto:[email protected]> >> https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > > _______________________________________________ > audacity-devel mailing list > [email protected] <mailto:[email protected]> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> > _______________________________________________ > audacity-devel mailing list > [email protected] <mailto:[email protected]> > https://lists.sourceforge.net/lists/listinfo/audacity-devel <https://lists.sourceforge.net/lists/listinfo/audacity-devel> _______________________________________________ audacity-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/audacity-devel