C++11 na MacOS 10.8.5, a nawet 10.4.11

Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał

Próbowałem skompilować swój kod C++ z funkcjami C++11 w GCC 4.2.1, które jest domyślne na moim MacBookPro3,1 z MacOS 10.8.5. Użyłem biblioteki random, więc potrzebowałem nowszej wersji GCC – a dokładniej co najmniej 4.7. Mam już na tej maszynie MacPorts (instrukcję instalacji znajdziesz tutaj). A więc:

Bash
/opt/local/bin/port install gcc5

Teraz mogę kompilować:

Text
/opt/local/bin/g++-mp-5 -std=c++11 main.cpp

Nawet jeśli używasz GCC 5.5.0, musisz przekazać flagę włączającą C++11.

Jeśli ktoś uważa, że to było zbyt łatwe, to spróbujmy zrobić to samo na MacOS 10.4.11 na PowerBooku3,4. Pierwsza rzecz to instalacja XCode 2.5, który podobno jest ostatnim dla systemu 10.4. Możesz go pobrać z xcodereleases.com po zalogowaniu się swoim Apple ID. Zainstaluj XCode, a następnie pobierz MacPorts 2.8.0. Potem zainstaluj GCC 5 tym samym poleceniem co wcześniej. Tym razem budowanie będzie trwało wieki, bo sprzęt jest znacznie słabszy niż w nowszym MacBookPro3,1. W tym czasie komputer tak się nagrzał, że nie mogłem nawet dotknąć klawiatury. Było to około 50 stopni Celsjusza przy chłodzeniu i ponad 65 stopni bez chłodzenia.

Bash
sudo /opt/local/bin/port -f deactivate libunwind-headers
sudo /opt/local/bin/port install apple-gcc42
sudo /opt/local/bin/port install gcc5

Niestety GCC 5 nie jest obsługiwane i trzeba zainstalować GCC 4.8 albo przynajmniej 4.7. Przygotuj się na jeden dzień budowania libgcc6, kolejny dzień na libgcc7, jeszcze jeden na samo GCC i pół dnia na pozostałe rzeczy.

Wersja Markdown

Wszystkie treści na tej stronie są udostępniane na licencji Uznanie autorstwa – Użycie niekomercyjne – Bez utworów zależnych 4.0 Międzynarodowe (CC BY-NC-ND 4.0). Cytuj jako: Michał Sobczak, „C++11 na MacOS 10.8.5, a nawet 10.4.11”, 26 listopada 2022, https://michalasobczak.pl/pl/posts/c11-on-macos-10-8.html