Στήνοντας την βιβλιοθήκη γραφικών SFML στο Code::Blocks
H SFML είναι μια βιβλιοθήκη γραφικών για προγραμματισμό, η οποία υποστηρίζει πολλές γλώσσες (c++, java, python, c, Ruby, Go και άλλες) και μπορεί να χρησιμοποιηθεί και στα τρία λειτουργικά.
Χρησιμοποιείται για την δημιουργία παιχνιδιών και περιλαμβάνει αρκετές δυνατότητες, όπως χρήση ήχου, χρήση δικτύου και πολλά ακόμη.
Στον οδηγό αυτό θα δούμε πως θα στήσουμε την τελευταία έκδοση της βιβλιοθήκης (SFML 2.1) στο CodeBlocks για δημιουργία παιχνιδιών με τη γλώσσα C++ στο Fedora. Tο Fedora παρέχει μέσω του κεντρικού repository την SFML 2.0, ακόμα και στην έκδοση 20 (τελευταία) της διανομής. Εδώ δεν θα χρησιμοποιήσουμε το αποθετήριο αυτό.
Έπειτα στην καρτέλα Linker Settings κάνουμε Add τα graphics, window & system και όποιο άλλο mode χρειαζόμαστε (πχ sound) με τη σειρά που φαίνονται παρακάτω:
Τέλος στη καρτέλα Compiler Settings εισάγουμε το SFML_STATIC στο #defines
Στον οδηγό αυτό θα δούμε πως θα στήσουμε την τελευταία έκδοση της βιβλιοθήκης (SFML 2.1) στο CodeBlocks για δημιουργία παιχνιδιών με τη γλώσσα C++ στο Fedora. Tο Fedora παρέχει μέσω του κεντρικού repository την SFML 2.0, ακόμα και στην έκδοση 20 (τελευταία) της διανομής. Εδώ δεν θα χρησιμοποιήσουμε το αποθετήριο αυτό.
Λήψη
Αρχικά κατεβάζουμε την έκδοση 2.1 για GCC από την σελίδα λήψεων της βιβλιοθήκης ανάλογα με την αρχιτεκτονική του συστήματός μας. Οι φάκελλοι που μας ενδιαφέρουν είναι ο include και ο lib. Γενικά (είτε χρησιμοποιήσουμε το codeblocks είτε κάνουμε compile από τη γραμμή εντολών με το g++) χρειάζεται να ξέρουμε το path όπου είναι αποθηκευμένοι αυτοί οι φάκελλοι στον δίσκο μας. Αν και δεν είναι απαραίτητο, συνηθίζεται οι φάκελλοι αυτοί να είναι οι /usr/local/include και /usr/local/lib. Θεωρητικά αυτοί οι φάκελλοι είναι οι default που θα ψάξει ο compiler. Παρ' όλα αυτά εμείς πρέπει να κάνουμε τις συνδέσεις ακόμα και αν τα βάλουμε εκεί.Απαραίτητες Βιβλιοθήκες
Αν προσπαθήσουμε σε αυτό το σημείο να κάνομε compile θα λάβουμε μήνυμα λάθους για την βιβλιοθήκη libGLEW.so.1.5 η οποία λείπει. Η βιβλιοθήκη αυτή υπάρχει στα αποθετήρια του Fedora, αλλά όχι στην έκδοση 1.5, αλλά στην 2. Συνεπώς η εγκατάσταση από τα αποθετήρια δεν θα λειτουργήσει. Την έκδοση που χρειαζόμαστε θα την βρείτε εδώ για 32bit και εδώ για 64bit. Τέλος πρέπει να προσθέσουμε στο αρχείο /etc/ld.so.conf (αν δεν υπάρχει το δημιουργούμε) το path όπου βρίσκεται η βιβλιοθήκη (/usr/local/lib στην προκειμένη περίπτωση) και να δώσουμεsudo ldconfigΠλέον μπορούμε να χρησιμοποιήσουμε τις βιβλιοθήκες της sfml από το g++.
SFML με G++
Έστω ότι έχουμε το πρόγραμμα test.cpp το οποίο περιέχει τον παρακάτω κώδικα:#include <SFML/Graphics.hpp> int main() { sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!"); sf::CircleShape shape(100.f); shape.setFillColor(sf::Color::Green); while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } window.clear(); window.draw(shape); window.display(); } return 0; }Για με κάνουμε compile το συγκεκριμένο πρόγραμμα χρησιμοποιώντας το g++ από τη γραμμή εντολών , αρκεί να ανοίξουμε ένα τερματικό στον φάκελλο όπου είναι αποθηκευμένο .cpp αρχείο και να δώσουμε:
g++ -c test.cpp -I<sfml-install-path>/includeΌπου sfml-install-path το path που έχουμε βάλει τον φάκελλο include (χωρίς τα < , > ). Έπειτα:
g++ test.o -o sfml-app -L<sfml-install-path>/lib -lsfml-graphics -lsfml-window -lsfml-systemΑν κάνουμε διπλό κλικ στο sfml-app που θα έχει δημιουργηθεί θα δούμε το πρόγραμμα αυτό να τρέχει.
SFML στο CodeBlocks
Το Code::Blocks είναι ένας αρκετά γνωστός cross platform IDE, για προγραμματισμό σε C++. Είναι διαθέσιμος από τα αποθετήρια του Fedora. Για να μπορέσουμε να χρησιμοποιήσουμε την βιβλιοθήκη μέσα από αυτό θα πρέπει να κάνουμε τα κατάλληλα links ακόμα και αν έχουμε τοποθετήσει τη βιβλιοθήκη στον /usr/local. Από το μενού πηγαίνουμε Project > Build Options. Στην καρτέλα Search Directories βάζουμε το path του compiler και του linker όπως φαίνεται στις παρακάτω φωτογραφίες:Έπειτα στην καρτέλα Linker Settings κάνουμε Add τα graphics, window & system και όποιο άλλο mode χρειαζόμαστε (πχ sound) με τη σειρά που φαίνονται παρακάτω:
Τέλος στη καρτέλα Compiler Settings εισάγουμε το SFML_STATIC στο #defines
Και τώρα είμαστε έτοιμοι να δημιουργήσουμε υπέροχα γραφικά παιχνίδια με τη C++.
Μπορείτε να ξεκινήσετε διαβάζοντας tutorials από το Wiki page της sfml.
Σχόλια
Δημοσίευση σχολίου