Guten Tag. Ich benutze Eclipse erfolgreich seit einiger Zeit. Bis jetzt hatte ich pro Projekt eine eigene Workspace. Aus verschiedenen Gründen habe ich nun mehrere Projekte in eine Workspace gelegt und das funktioniert auch ganz ansehnlich. Für diese Projekte innerhalb der Workspace gibt es Teile (.c und .h files), die für alle Projekte gleich sind. Bisher habe ich sie also alle kopiert pro Projekt. Sie sind also mehrfach vorhanden. Bei Änderungen in diesen Files musste ich jetzt alles mehrfach (pro Project) ändern. Ich möchte mir dies nun aber sparen und irgendwie diese Files gemeinsam benutzen. Ich will aber keine Library erzeugen. Meine Frage ist nun, was muss man bei Eclipse tun, damit man Quelltextteile innerhalb verschiedener Projekte in einer Workspace gemeinsam nutzen kann? Ich hoffe ich konnte mein Anliegen verständlich darlegen. Danke für sachdienliche Hilfe.
Du kannst ein Library Projekt als Referenz benutzen. Falls Du CubeMX benutzt, kannst Du ein derartiges als Vorlage erstellen.
Linked Folder wäre was für dich: http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fconcepts-13.htm
Habe auch länger daran gebastelt. ******************************** File-New-Folder- - Enter or select parent folder -> das Projekt in dem ein verlinktes Verzeichnis erstellt werden soll auswählen - Folder name -> das verlinkte Verzeichnis benennen -Advanced-Link to alternate location -> externes zu verlinkendes Verzeichnis auswählen
Danke sehr für die interessanten Hinweis. Ich nehme an , ich muss das dann bei allen meinen Projekten in der Workspace so machen, so daß dann überall das gemeinsame Verzeichnis im Projektexplorer erscheint. Ich hab es so gemacht wie geschrieben und die Bilder beim sehen ähnlich aus. Aber es klappt noch nicht ganz. Im gemeinsamen Verzeichnis habe ich .h files stehen, diese werden aber nicht gefunden. Muss ich noch irgendwo den Pfad bekanntgeben ? Das Icon für das gemeinsame Verzeichnis sieht bei mir etwas anders aus. Unten rechts das Quadrat mit dem Pfeil ist da, aber das Zeichen (Schraubenschlüssel oder so was) drüber fehlt. Danke für Hilfe
Die Includepfade für alle deine Header musst du immer in den einzelnen Projectsettings setzen. Das geht nicht automatisch. Oliver
Wir setzen die Linked Folder relativ zu PROJECT_LOC oder einer selbsterstellten Path Variable. Properties ->Resource->Linked Resources -> Path Variables Diese Variablen erscheinen dann auch bei der Einstellung zu den Linked Foldes unter Variables. Vorteil ist, dass man so die Sourcen leichter an andere Stellen verschieben kann.
Oliver S. schrieb: > Die Includepfade für alle deine Header musst du immer in den einzelnen > Projectsettings setzen. Das geht nicht automatisch. Danke für den Hinweis. Jetzt klappt es. Man muss beide "Richtungen" beim Include Pfad angeben, damit man auch aus dem gemeinsamen Bereich auf header file im speziellen Bereich zugreifen kann. Danke auch für den Hinweis auf die relative Position. Das werde ich auch berücksichtigen. Vielen Dank allen nochmals für die hilfreich Unterstützung. Grüße
Ich hatte das gleiche Problem. Weil ich keine Lösung in Eclipse fand und auch keine so gute Erklärung wie hier, bin ich nach etwas ausprobieren auf folgende Lösung gekommen: In dem Projektverzeichnis, aus dem heraus ich die gemeinsamen Dateien verwenden will, habe ich symbolc links auf die Originaldateien angelegt. Eclipse meint dann, es lägen Dateien im Projektverzeichnis (an Refresh denken!), zeigt die normal wie eigene Projektdateien an und compiliert auch ohne Anpassung der Konfiguration, weil die "Dateien" ja angeblich in dem Projektverzeichnis "liegen", was sie tatsächlich nicht tun, weil es nur Verweise sind. Die Lösung macht beim Einrichten eines neuen Projekts ein paar Klicks Arbeit und dann ist es gut. Mir hat das bisher gut geholfen. Viele Grüße an alle Eclipse-User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.