openframeworks / openFrameworks

openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
http://openframeworks.cc
Other
9.98k stars 2.55k forks source link

[macOS] fix c++23 issue using make #8113

Closed dimitre closed 2 months ago

dimitre commented 2 months ago

closes https://github.com/openframeworks/openFrameworks/issues/8111

danoli3 commented 2 months ago

Still confusing since c++23 is available in Xcode 15.

Did you make sure you have run xcode-select --install

danoli3 commented 2 months ago

sudo softwareupdate --all --install --force

dimitre commented 2 months ago

I've run it again by editing config.make

export MAC_OS_CPP_VER = -std=c++23

and the full error is

error: error: invalid value 'c++23' in '-std=c++23'
invalid value 'c++23' in '-std=c++23'
note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standardnote: 
use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard
note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standard
note: use 'c++11' for 'ISO C++ 2011 with amendments' standard
note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standardnote: 
use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standardnote: 
use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: note: use 'c++11' for 'ISO C++ 2011 with amendments' standarduse 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standard

note: note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standarduse 'c++17' for 'ISO C++ 2017 with amendments' standard

note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standardnote: 
use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standarduse 'c++20' for 'ISO C++ 2020 DIS' standard

note: note: use 'c++17' for 'ISO C++ 2017 with amendments' standarduse 'gnu++20' for 'ISO C++ 2020 DIS with GNU extensions' standard

note: note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standarduse 'c++2b' for 'Working draft for ISO C++ 2023 DIS' standard

note: note: use 'c++20' for 'ISO C++ 2020 DIS' standarduse 'gnu++2b' for 'Working draft for ISO C++ 2023 DIS with GNU extensions' standard

note: use 'gnu++20' for 'ISO C++ 2020 DIS with GNU extensions' standard
note: use 'c++2b' for 'Working draft for ISO C++ 2023 DIS' standard
note: use 'gnu++2b' for 'Working draft for ISO C++ 2023 DIS with GNU extensions' standard
dimitre commented 2 months ago

so maybe c++2b is the parameter you want to enable 'Working draft for ISO C++ 2023 DIS' standard

danoli3 commented 2 months ago

Yeah 2B I used originally not sure why it changed to 23!

I think maybe when had some issues with windows using that

On Tue, 10 Sep 2024 at 7:56 PM, Dimitre @.***> wrote:

so maybe c++2b is the parameter you want to enable 'Working draft for ISO C++ 2023 DIS' standard

— Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/pull/8113#issuecomment-2341613347, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGK2HGMBBQPDKLJJDMNG4DZV4XGRAVCNFSM6AAAAABNZN4FLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBRGYYTGMZUG4 . You are receiving this because you modified the open/close state.Message ID: @.***>

dimitre commented 2 months ago

it was hard to debug because platform templates were overriding with c++17 and in some cases when we use "vscode" and "osx" templates it copies config.make twice, so the last added template will count.