Τοπική εγκατάσταση της C++

Μάθε πώς να εγκαταστήσεις τη C++ τοπικά για να λύνεις τις ασκήσεις του Exercism στον δικό σου υπολογιστή


Προαπαιτούμενα

Η διαδρομή για τη γλώσσα C++ απαιτεί να έχεις εγκαταστήσει στο σύστημά σου το ακόλουθο λογισμικό:

  • έναν σύγχρονο μεταγλωττιστή C++14
  • το σύστημα δόμησης CMake για πολλαπλές πλατφόρμες

Χρησιμοποιούμε το Catch2 για τις δοκιμές, το οποίο είναι μια βιβλιοθήκη που αποτελείται μόνο από αρχεία κεφαλίδας και συνοδεύει τις ασκήσεις.

Αυτό το σύνολο εξαρτήσεων είναι πολύ συνηθισμένο σε έργα C++, οπότε αν αντιμετωπίσεις οποιοδήποτε πρόβλημα στη ρύθμισή του, θα βρεις πολλούς χρήσιμους πόρους στο διαδίκτυο.

Πολλά IDE, όπως το Visual Studio της Microsoft, το Xcode της Apple και το CLion της JetBrains, περιλαμβάνουν μαζί μεταγλωττιστή και CMake, οπότε το μόνο που θα χρειαστεί να εγκαταστήσεις είναι το IDE.

Ένας σύγχρονος μεταγλωττιστής C++14

Αυτή η διαδρομή απαιτεί έναν μεταγλωττιστή με υποστήριξη C++14, η οποία κυκλοφόρησε το 2014. Όλοι οι μεγάλοι μεταγλωττιστές που κυκλοφόρησαν τα τελευταία χρόνια θα πρέπει να είναι συμβατοί, οπότε αν έχεις μια αρκετά πρόσφατη έκδοση, είσαι εντάξει. Συγκεκριμένα, GCC έκδοση 7 ή νεότερη, Clang έκδοση 6 ή νεότερη, ή Visual Studio 2017 ή νεότερο.

CMake

Το CMake είναι ένα σύστημα δόμησης ανοιχτού κώδικα για πολλαπλές πλατφόρμες, που δημιουργεί σενάρια δόμησης για το εγγενές σύστημα δόμησης του υπολογιστή σου (make, Visual Studio, Xcode κ.λπ.). Η διαδρομή C++ του Exercism χρησιμοποιεί το CMake για να σου δώσει μια έτοιμη δόμηση που:

  • μεταγλωττίζει τις δοκιμές
  • μεταγλωττίζει τη λύση σου
  • συνδέει το εκτελέσιμο των δοκιμών
  • εκτελεί αυτόματα τις δοκιμές σε κάθε δόμηση
  • αποτυγχάνει τη δόμηση αν αποτύχει οποιαδήποτε από τις δοκιμές

Χρησιμοποιώντας το CMake, το Exercism μπορεί να παρέχει ένα σενάριο δόμησης για πολλαπλές πλατφόρμες που μπορεί να δημιουργήσει αρχεία έργου για ολοκληρωμένα περιβάλλοντα ανάπτυξης όπως το Visual Studio και το Xcode. Έτσι μπορείς να επικεντρωθείς στο πρόβλημα και να μην ανησυχείς για τη ρύθμιση μιας δόμησης για κάθε άσκηση.

Το να πετύχεις μια φορητή δόμηση δεν είναι εύκολο και απαιτεί πρόσβαση σε πολλά διαφορετικά είδη συστημάτων. Αν αντιμετωπίσεις οποιοδήποτε πρόβλημα με τη συνταγή CMake που παρέχεται, ανάφερε το ζήτημα για να μπορέσουμε να βελτιώσουμε την υποστήριξη του CMake.

Απαιτείται CMake 3.5.1 ή νεότερο για να χρησιμοποιήσεις τη συνταγή δόμησης που παρέχεται.

Windows

Οι χρήστες των Windows μπορούν να αποκτήσουν το Visual Studio Community, μια δωρεάν λήψη που τους δίνει το IDE του Visual Studio και την τελευταία έκδοση του μεταγλωττιστή Microsoft Visual C++.

  1. Ακολούθησε τις οδηγίες εδώ για να ρυθμίσεις το CMake.
  2. Κατέβασε την άσκηση χρησιμοποιώντας το εργαλείο exercism cli.
  3. Άνοιξε το Visual Studio 2017 ή νεότερο (με τα εργαλεία Visual C++ για CMake εγκατεστημένα, όπως περιγράφεται στον παραπάνω σύνδεσμο).
  4. Άνοιξε τον φάκελο της άσκησης στο VS.
  5. Εκτέλεσε "Build->Build the solution". Οι δοκιμές θα εκτελεστούν μαζί με τη δόμηση και η έξοδος θα εμφανιστεί στο παράθυρο δόμησης. Επειδή οι δοκιμές εκτελούνται κατά τη διάρκεια της δόμησης, το VS θα αναφέρει αποτυχία δόμησης αν αποτύχει κάποια από τις δοκιμές, και τα μηνύματα αποτυχίας των δοκιμών θα βρίσκονται στο παράθυρο εξόδου της δόμησης.

Θα μπορείς να χρησιμοποιήσεις με παρόμοιο τρόπο και άλλα ολοκληρωμένα IDE, όπως το CLion της JetBrains.

Εγκατάσταση του Boost στα Windows

Οι ασκήσεις meetup και gigasecond εξαρτώνται από τις βιβλιοθήκες Boost. Τα παρακάτω βήματα περιγράφουν πώς να το ρυθμίσεις.

  1. Κατέβασε τις έτοιμες βιβλιοθήκες για Windows του Boost.
    • Οι ασκήσεις απαιτούν Boost έκδοσης 1.58 τουλάχιστον.
    • Μπορείς να βρεις την έκδοση του MSVC κάνοντας κλικ στο "Modify" στο Visual Studio Installer.
  2. Αποσυμπίεσε τις βιβλιοθήκες σε έναν τοπικό φάκελο.
  3. Όρισε τη μεταβλητή περιβάλλοντος BOOST_ROOT στον φάκελο όπου εγκατέστησες τις βιβλιοθήκες του Boost.
  4. Αν είχες ανοιχτό το Visual Studio όσο το έκανες αυτό, κλείσε το για να σιγουρευτείς ότι θα ληφθεί υπόψη η τιμή του BOOST_ROOT.
  5. Ξεκίνησε το Visual Studio και άνοιξε τον φάκελο που περιέχει την άσκηση gigasecond ή meetup.
  6. Το "Startup Item" θα πρέπει να είναι gigasecond.exe ή meetup.exe και θα πρέπει να πάρεις σφάλματα δόμησης είτε στο gigasecond_test.cpp είτε στο meetup_test.cpp που σου λένε να υλοποιήσεις τα στοιχεία που λείπουν, όπως και στις άλλες ασκήσεις.

Linux

Όλες οι πρόσφατες εκδόσεις διανομών Linux έχουν συμβατούς μεταγλωττιστές C++14, οπότε θα πρέπει να μπορείς να τον εγκαταστήσεις από τον διαχειριστή πακέτων σου. Οι εκδόσεις που υποστηρίζουμε είναι αυτές που εγκαθίστανται από προεπιλογή στο Ubuntu LTS 18.04.

Για παράδειγμα, στο Ubuntu θα χρησιμοποιήσεις την παρακάτω εντολή για να εγκαταστήσεις το gcc.

$ sudo apt-get install gcc
$ gcc --version

Αν έχεις μια παλαιότερη διανομή, μπορεί να μην έχεις μεταγλωττιστή που να υποστηρίζει C++14. Σε αυτή την περίπτωση, θα χρειαστεί να συνεργαστείς με τη διανομή σου για να βρεις πώς να εγκαταστήσεις την ελάχιστη απαιτούμενη έκδοση μεταγλωττιστή.

MacOS

Οι χρήστες του MacOS μπορούν να εγκαταστήσουν το GCC με το Homebrew μέσω brew install gcc.