Θέση αρχείων και μεταβλητές περιβάλλοντος
Πρέπει καταρχήν να ξέρετε που είναι ο αρχικός κατάλογος της LEDA (LEDA root directory). Αυτός ο κατάλογος, έστω <leda-root-path>, πρέπει να αποθηκεύεται στη μεταβλητή περιβάλλοντος LEDAROOT. Στο σύστημα diogenis, o <leda-root-path> είναι:
/usr/local/LEDA
Πρέπει να αναθέσετε τον <leda-root-path> στην μεταβλητή περιβάλλοντος LEDAROOT. Αυτό εξαρτάται από το Unix shell που χρησιμοποιείτε και γίνεται ως εξής:
| csh/tcsh: | setenv LEDAROOT <leda-root-path> |
| sh/bash: | export LEDAROOT=<leda-root-path> |
Π.χ. στο σύστημα diogenis και σε csh/tcsh πρέπει να δώσετe:
setenv LEDAROOT /usr/local/LEDA
Πρέπει να αναθέσετε τιμή και σε μία άλλη μεταβλητή περιβάλλοντος που λέγεται LD_liBRARY_PATH και είναι σημαντική όταν χρησιμοποιείτε διαμοιραζόμενες βιβλιοθήκες (shared libraries).
| csh/tcsh: | setenv LD_liBRARY_PATH <leda-root-path>:${LD_liBRARY_PATH} | ||
| sh/bash: |
|
Μεταγλώττιση και σύνδεση προγραμμάτων
Χρησιμοποιείστε την έκδοση 4.4.6 του μεταγλωττιστή (η κανονική έκδοση που παρέχεται από το σύστημα):
/usr/bin/g++
Χρησιμοποιείστε την επιλογή -I του μεταγλωττιστή για να πληροφορηθεί ο μεταγλωττιστής για το που βρίσκονται τα αρχεία κεφαλίδας της LEDA (LEDA header files).
g++ -I$LEDAROOT/incl -c file.cpp
Χρησιμοποιείστε την επιλογή -L του μεταγλωττιστή για να πληροφορηθεί ο μεταγλωττιστής για το που βρίσκεται η βιβλιοθήκη της LEDA
(libleda.a).g++ -L$LEDAROOT -L/usr/X11R6/lib64/ file.o -lm -lX11 -lleda
Μπορείτε να κάνετε ταυτόχρονη μεταγλώττιση και σύνδεση δίνοντας
g++ -I$LEDAROOT/incl -L$LEDAROOT -L/usr/X11R6/lib64/ file.cpp -lm -lX11 -lleda
ΠΑΡΑΤΗΡΗΣΗ: Όταν μεταγλωττίζετε/συνδέετε τα προγράμματά σας, χρησιμοποιείστε την επιλογή βελτιστοποίησης -O2 του μεταγλωττιστή g++. Επειδή όλα τα προγράμματα της LEDA έχουν προμεταγλωττιστεί με αυτή την επιλογή, είναι σημαντικό να την χρησιμοποιείτε, γιατί αλλοιώς θα χάνετε σε ταχύτητα (έναντι παρόμοιων υλοποιήσεων της LEDA).
Χρήση των τύπων δεδομένων της LEDA
Αν θέλετε να κάνετε χρήση του τύπου δεδομένων Type της LEDA, τότε το μόνο που έχετε να κάνετε είναι να συμπεριλάβετε το αντίστοιχο αρχείο κεφαλίδας <LEDA/Type.h> στο πρόγραμμά σας.
Π.χ., για να χρησιμοποιήσετε τους τύπους δεδομένων stack (στοίβα) και queue (ουρά), συμπεριλάβετε τα εξής στο πρόγραμμά σας:
#include <LEDA/core/stack.h> #include <LEDA/core/queue.h>