Exosouler Δημοσ. 28 Φεβρουαρίου 2013 Δημοσ. 28 Φεβρουαρίου 2013 το προβλημά μου είναι το εξης: έχω ενα object αρχείο(δεν έχω στην δια8εσή μου τον πηγαίο κώδικα) και δεν ξέρω πώς να το συνδέσω με το υπόλοιπο πρόγραμμα(σε γλώσσα C++).Χρησιμοποιώ Eclipse SDK Judo και έχω βάλει το cygwin compiler-linker.
migf1 Δημοσ. 28 Φεβρουαρίου 2013 Δημοσ. 28 Φεβρουαρίου 2013 Δεν γνωρίζω την ακριβή διαδικασία μέσα από το Eclipse, αλλά σε γραμμή εντολών προσθέτεις το object αρχείο σου όταν καλείς τον g++ driver... g++ mysrc1.c mysrc2.c xyz.o -o myprog Με την προϋπόθεση πως το object αρχείο σου έχει παραχθεί με τον g++ (ίσως χρειαστεί να χρησιμοποιήσεις και την ίδια έκδοση του g++ με την οποία παράχθηκε το object αρχείο).
Exosouler Δημοσ. 1 Μαρτίου 2013 Μέλος Δημοσ. 1 Μαρτίου 2013 Προέκυψε ένα νέο πρόβλημα: ο linker μου βγάζει το εξής error: undefined reference to constructor(πριν συνδέσω το object file δεν υπήρχε αυτό το πρόβλημα)
migf1 Δημοσ. 1 Μαρτίου 2013 Δημοσ. 1 Μαρτίου 2013 Μάλλον το object αρχείο σου συνοδεύεται κι από ένα .h αρχείο (μέσα στο οποίο ορίζεται η κλάση από την οποία προσπαθεί να δημιουργήσει instances αντικειμένων). Οπότε πρέπει είτε να βάλεις αυτό το .h αρχείο στον ίδιο φάκελο που έχεις τον υπόλοιπο πηγαίο κώδικα, είτε να πεις του g++ που να το βρει (με το command line flag -I ... κεφαλαίο Άι είναι αυτό). Ένα άλλο ενδεχόμενο είναι το object αρχείο σου να είναι μέρος μιας βιβλιοθήκης (αν είναι static θα έχει κατάληξη .a), οπότε σε αυτή την περίπτωση θα πρέπει να την συμπεριλάβεις τον φάκελό της στο command-line με το flag -L και να πεις του linker να την χρησιμοποιήσει με το command-line flag -l (πεζό L είναι αυτό). Αν είναι dynamic (shared), θα έχει κατάληξη .so και θα πρέπει να υπάρχει σε κάποιον από τους φακέλους που περιέχει η μεταβλητή περιβάλλοντος PATH. Ένα άλλο ενδεχόμενο είναι το object αρχείο σου να έχει παραχθεί με ασύμβατη έκδοση του g++. ΥΓ1. Οι παραπάνω καταλήξεις βιβλιοθηκών αφορούν τον g++ (είτε σε native Unix/Unix-like περιβάλλον, είτε σε cygwin, είτε σε mingw). Σε compilers για Windows περιβάλλον οι αντίστοιχες καταλήξεις είναι .obj (για static) και .dll (για dynamic). ΥΓ2. Κοίτα και στο google.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα