[Advcomparch] προβλημα στη μεταγλωττιση με simulation marks

Nikos Anastopoulos anastop at cslab.ece.ntua.gr
Sun Jun 22 05:29:39 EEST 2008


Έχεις ακολουθήσει επακριβώς τη διαδικασία που προτείνεται στη σελίδα του 
μαθήματος για cross compilation (κατασκευή Makefile)? Στη συνέχεια, 
έχεις προσαυξήσει το Makefile όπως περιγράφεται στις οδηγίες για να 
υποστηρίζεται η μεταγλώττιση προγραμμάτων με simulation marks? Γιατί από 
τα μηνύματα λάθους που παραθέτεις δε φαίνεται να ισχύει κάτι τέτοιο.

Συγκεκριμένα:
- Στο compilation φαίνεται να χρησιμοποιείς τον native compiler του 
συστήματός σου και όχι τον cross compiler των sescutils. Το path του 
cross compiler στο σύστημά σου λογικά πρέπει να 'ναι κάτι σαν το εξής: 
/myhomepath/sesc-sim/sescutils/install/bin/mipseb-linux-gcc (ορίζεται 
και στο παράδειγμα Makefile που υπάρχει στις σχετικές οδηγίες).
- Επιπλέον, φαίνεται ότι προσπαθείς να δημιουργήσεις εκτελέσιμο από ένα 
C αρχείο το οποίο δεν περιέχει τη main (sesc_events.c). Κανονικά θα 
'πρεπε να δημιουργήσεις πρώτα ένα object file από αυτό το αρχείο 
(χρησιμοποιώντας το option -c του gcc) και στη συνέχεια να το κάνεις 
link με το(a) object file(s) του προγράμματός σου (ένα εκ των οποίων θα 
πρέπει να 'ναι αυτό που περιέχει τη main). Και σε αυτή την περίπτωση, το 
Makefile των οδηγιών φροντίζει να κάνει με τη σωστή σειρά compile και 
link το sesc_events.c .
- Αν χρησιμοποιείς το Makefile των οδηγιών, δε χρειάζεται να αντιγράψεις 
τα sesc_events.c και sescutils.h στο φάκελό σου. Τα αντίστοιχα paths 
ορίζονται μέσα στο Makefile.

Ν.



Filippos Dimitrios Kalamidas wrote:
> καλημερα,
>      εχω δημιουργησει ενα φακελο mulab οπου μεσα εχει το αρχειο mulab.c το
> οποιο εχω δοκιμασει και τρεχει κανονικα, και το αρχειο Makefile.mips. για τη
> χρηση των simulation marks εχω προσθεσει 2 σημεια στο προγραμμα μου, οπως
> δινεται στις οδηγιες, εχω αλλαξει το Makefile.mips και εχω αντιγραψει στο
> φακελο mulab τα αρχεια sesc_events.c και sescapi.h. συμφωνα με τις οδηγιες θα
> πρεπει πρωτα απο ολα να γινει compile το αρχειο sesc_events.c αλλα οταν παω να
> το κανω παιρνω το παρακατω μηνυμα: 
>
> :~/sesc-sim/mulab$ gcc -O2 -o sesc_events sesc_events.c
> /usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crt1.o: In function `_start':
> (.text+0x18): undefined reference to `main'
> collect2: η ld επέστρεψε κατάσταση εξόδου 1
>
> υπαρχει κατι που κανω λαθος μεχρι εδω? ευχαριστω
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>   


-- 
Nikos Anastopoulos, PhD Candidate

National Technical University of Athens (NTUA)
School of Electrical and Computer Engineering
Computing Systems Laboratory

e-mail: anastop at cslab.ece.ntua.gr
Tel: +30-210-7722279





More information about the Advcomparch mailing list