[26 Sep 2023]
First, make sure you have a proper (i.e., command line-based) environment to develop and test your code. Use whichever IDE you want but your code MUST work with g++ version >=14 (or higher - in that case replace 14 below with what you have).
To test that everything works OK, copy-paste the following highlighted text in a Linux/WSL+Ubuntu/Mac terminal:
cd ; mkdir tst; cd tst cat > Makefile << EOF_Makefile CXXFLAGS=-std=c++20 -pedantic -Wall -Wpointer-arith -Wwrite-strings CXXFLAGS+=-Wcast-qual -Wcast-align -Wformat-security CXXFLAGS+=-Wformat-nonliteral -Wmissing-format-attribute CXXFLAGS+=-Winline -funsigned-char CC=\$(CXX) EOF_Makefile cat > hello.cc << EOF_Hello #include <iostream> using namespace std; #define X(token) #token int main() { cout << X(Hello) << char(32) << X(World) << char(33) << endl; return 0; } EOF_Hello make hello && ./hello
Does it print "Hello World!"? With no warnings/errors? Congratulations, you're good to go!
If the above doesn't work, contact me ASAP!!! (and copy-paste - don't screenshot!1 - the output of g++ --version. Your compiler may be called g++-14 instead, so please do the same for g++-14 --version)
Quick solution for Linux(=WSL+Ubuntu)/MacOS – COPY-PASTE (***DON'T TYPE!***) THE FOLLOWING:
# On both: 1) Get brew (one line!!!):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# On Linux only: 1.5) Add brew to PATH (for default installation!!!):
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.profile
# On both: 2) Install gcc@14:
brew install gcc
# On both: 3) Make sure g++-14 is the default (now & in the future):
export CXX=g++-14 echo export CXX=g++-14 >> ~/.profile # Use the C++ compiler as the C compiler to avoid linking errors. export CC=${CXX} echo export 'CC=${CXX}' >> ~/.profile
brew doctor
1 It's text, so copy-paste it, don't take a screenshot. In general, don't use images of code/results, use the proper text itself.