Objektdateien hinzufügen
-
Hallo
Ich nutze derzeit KDevelop und wollte mal wissen wie man zu einem Projekt einfach Objektdateien (Endung .o) hinzufügen kann.
Über den Dialog geht es nicht weil da kann man nur .h und .cpp und Blank File auswählen. Blank File zeigt mir aber nur Ordner an.
Ausserdem würde ich mal gerne wissen wie man hinzugefügte Dateien aus dem Projekt wieder entfernen kann.
Danke sehr.
MfGKDevelop 3.1.0
-
versuch die mal dort einzutragen, wo man zusätzliche libs angibt.
-
Muss ich mal schauen wo das ist. Schade das man das nicht im Programm selber machen kann. Man hat eine IDE und macht es dann doch von Hand.
Die Dokumentation ist auch noch unvollständig (to be written).
Ich schau mich mal weiter um.
-
Warum willst du .o Dateien hinzufügen? Hast du den Quellcode davon nicht?
Mit .o Dateien hantiert man normalerweise nicht. Das ist nur ein Zwischenformat.
-
Für Projekte ist es schon wichtig das man auch mit Objektdateien arbeiten kann.
1. Man hat den Quellcode nicht.Für große Projekte ist es sowieso wichtig.
1. Man hat den Quellcode nicht.
2. Man hat den Quellcode aber will nicht immer ALLES neu kompilieren lassen.Wozu auch? Macht keinen Sinn wenn man Quellcode kompiliert der nicht geändert worden ist. Man fügt die Objektdateien hinzu und braucht die nur noch zu linken. Meine Frage war das aber nicht.
-
Mulinex schrieb:
Für Projekte ist es schon wichtig das man auch mit Objektdateien arbeiten kann.
1. Man hat den Quellcode nicht.Für große Projekte ist es sowieso wichtig.
1. Man hat den Quellcode nicht.
2. Man hat den Quellcode aber will nicht immer ALLES neu kompilieren lassen.Wozu auch? Macht keinen Sinn wenn man Quellcode kompiliert der nicht geändert worden ist. Man fügt die Objektdateien hinzu und braucht die nur noch zu linken. Meine Frage war das aber nicht.
Wer gibt denn normale Objektdateien weiter? Wenn, dann handelt es sich um Bibliotheken mit denen man dazulinken möchte. (libfoo.so). Diese werden über das Automake oder Qmake Modul hinzugefügt.
Dass man nicht jedesmal neu kompiliert, dafür sorgt schon das Buildsystem.
-
Aus dem Grund gibt es doch Makefiles und IDEs. Die kümmern sich schon drum nur Dateien zu kompilieren, die geändert wurden
Wenn es wirklich keinen Weg gibt die Objekt Datei einzubinden, dann kannst du das zu not über die Linkeroptionen machen.
-
Hallo
Ich nutze derzeit KDevelop und wollte mal wissen wie man zu einem Projekt einfach Objektdateien (Endung .o) hinzufügen kann.
Über den Dialog geht es nicht weil da kann man nur .h und .cpp und Blank File auswählen.Ja die kenn ich schon. Das Problem ist das viele Teile der Dokumentation noch nicht fertig sind (to be written). Ich arbeite doch mit einer IDE und will nur wissen ob man das in KDevelop auch über einen Dialog, oder anders, machen kann?
Das ist meine Frage. Die Doku ist hier leider noch unvollständig.
Wenn man schon eine IDE hat dann sollte sowas auch ohne Umwege nötig sein, weil sonst brauche ich keine IDE. Das man erst mal über den Sinn von Objektdateien diskutieren muss hätte ich ja nicht gedacht.
-
Mulinex schrieb:
Ja die kenn ich schon. Das Problem ist das viele Teile der Dokumentation noch nicht fertig sind (to be written). Ich arbeite doch mit einer IDE und will nur wissen ob man das in KDevelop auch über einen Dialog, oder anders, machen kann?
Das ist meine Frage. Die Doku ist hier leider noch unvollständig.
Wenn man schon eine IDE hat dann sollte sowas auch ohne Umwege nötig sein, weil sonst brauche ich keine IDE. Das man erst mal über den Sinn von Objektdateien diskutieren muss hätte ich ja nicht gedacht.Wenn du mit Objektdateien hantieren musst, die keine Bibliotheken sind, ist schon vorher etwas schief gegangen. Man muss sich keine Gedanken über .o Dateien machen.
Aber irgendwie ist das alles verwirrend. Hast du mal ein konkretes Beispiel, was du machen möchtest? Woher kommen die Objektdateien, wie heissen diese und was soll mit diesen geschehen?
-
Ja klar, ich will schon vorher übersetzten Programmcode den ich ja nicht im Quellcode bekomme mit in mein Programm aufnehmen. Ich bekomme also den Quellcode nicht zu sehen. Ich muss aber ja auf das Programm zugreifen können, wie das im Quellcode geht weiß ich anhand der Dokumentation von dem anderen Programmierer. Doch damit während des Kompilieren die mir zugeschickten Dateien mit einbezogen werden muss ich die ja zu meinem Projekt hinzufügen. Wenn ich das mit Blank File machen will dann kann ich nur Ordner öffnen! das verstehe ich nicht. Und .h oder .cpp Dateien möchte ich ja nicht hinzufügen. Ich weiß nicht wie ich die hinzufügen soll.
Ich muss zugeben das ich das zum ersten mal mache, habe vorher unter Windows mit DevCPP programmiert aber habe alles selber erstellt. Mit fremden Code habe ich noch nie gearbeitet. Jetzt weiß ich nicht wie ich das zu machen habe.
Deshalb brauche ich den Objektcode und keine Bibliotheken, die bekomme ich doch von meinem System. Hoffentlich stimmt das auch so jetzt.
Ich bekomme auf jeden Fall die .o Datei geschickt und soll die dann mit einfügen, mehr weiß ich ja auch nicht. Hoffe die Erklärung reicht.
-
Wenn du von jemanden eine .o Datei geschickt bekommst, die du dazulinken willst, dann:
Dann mach aus foo.o ein libfoo.a und sage dem Projekt, dass die Bibliothek foo mit eingebunden werden soll.
Du solltest aber auch direkt dafür sorgen, dass dir eine libfoo.a geschickt wird.
-
Aha, ok, wie füge ich die dann in KDevelop ein?
Ich muss dem doch sagen das der die libs mit einbinden soll, oder geht das nur mit den Linkeroptionen? Wie gesagt, die Doku ist leider nicht vollständig.
-
Mulinex schrieb:
Aha, ok, wie füge ich die dann in KDevelop ein?
Ich muss dem doch sagen das der die libs mit einbinden soll, oder geht das nur mit den Linkeroptionen? Wie gesagt, die Doku ist leider nicht vollständig.Je nach Projektart hast du eine Tab Automake-Manager oder QMake Manager. Diese haben für die Targets Konfigurationsoptionen. Dort kann man interne oder externe Bibliotheken zum Linken hinzufügen.
-
Muss ich mir heute Nachmittag anschauen. Das mit den Objektdateien muss ich auch klären. Eigentlich ist es logisch aber ich kenne mich nicht aus mit dem dazu linken von Bibliotheken und so weiter. C/C++ ist noch ein wenig fremd für mich.
Kenne sonst nur Scriptsprachen.
Aber danke für deine Mühe!