Forum: Mikrocontroller und Digitale Elektronik Eclipse Auslagerung redundanter Code


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jens (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin beruflich reiner Hardware Mensch und programmiere zuhause 
gelegentlich verschiedene µC in C.
Als Entwicklungsumgebung nutze ich Eclipse.

Nun habe ich mehrere Makefile Projekte in meinem Eclipse Workspace.
Jedes Projekt beinhaltet alle Quellen die es zum bauen benötigt.
Da viele Quellen identisch sind (uart.c, uart.h) würde ich diese nun 
gerne auslagern damit ich Änderungen nicht immer in allen Projekten 
durchführen muss.

Am liebsten wäre es mir den Code in ein extra Verzeichnis zu kopieren 
und dieses Verzeichnis dann in jedem Projekt mit einzubinden.
Allerdings will ich die Dateien ja auch im Eclipse einbinden damit ich 
sie editieren kann.

Nun bin ich mit den Informationen zu shared oder static librarys einfach 
überfordert.

Muss ich mich da durchbeißen und sowas benutzen oder gibt es noch 
einfachere Möglichkeiten ?

Gruß

von Christopher J. (christopher_j23)


Bewertung
0 lesenswert
nicht lesenswert
Mach dir doch einfach einen Unterordner mit einem eigenen Makefile für 
die Dinge die redundant sind und das Makefile bindest du dann jeweils in 
den Makefiles der anderen Projekte ein. Editieren kannst du die Dateien 
doch trotzdem, auch wenn sie in einem eigenen Unterordner/Projekt liegen 
oder sehe ich da irgendetwas nicht?

von Jens (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mit den Makefiles habe ich so meine Probleme davon verstehe ich noch so 
gut wie gar nichts.

Ich habe hier etwas Interessantes gefunden, ich glaube das ist das was 
ich suche
https://mcuoneclipse.com/2014/08/15/link-to-files-and-folders-in-eclipse/

von Harry L. (mysth)


Bewertung
0 lesenswert
nicht lesenswert
Ich hab mich mit dem Problem auch herum geschlagen.
Mein erster Ansatz war natürlich auch ein AVR-Library zu bauen, was aber 
nicht praktikabel ist, da man damit i.d.R. auch Code für einen 
bestimmtenm µC bei einer bestimmten Taktfrequenz generiert.

Ich hab das jetzt so gelöst, daß ich mir manuell innerhalb des 
Projekt-Ordner einen symbolischen Link auf das Verz. mit meiner pers. 
Funktionssammlung anlege.

von TestX (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Die sinnvollste lösung wäre die libraries als eigenes projekt zu pflegen 
und per git zu versionieren. Das Projekt liegt dann irgendwo auf deinem 
PC.

In deinen anderen Projekten klonst du dann dieses Repository in einen 
Unterordner. Und ja...du willst es früher oder später nurnoch manuell 
updaten. Den Fehler mit einem shared Ordner für sowas macht am Anfang 
jeder mal ;)

Beitrag #4936356 wurde vom Autor gelöscht.
von 900ss D. (900ss)


Bewertung
0 lesenswert
nicht lesenswert
Harry L. schrieb:
> Ich hab das jetzt so gelöst, daß ich mir manuell innerhalb des
> Projekt-Ordner einen symbolischen Link auf das Verz. mit meiner pers.
> Funktionssammlung anlege.

Falls du es nicht so gemacht hast, das geht auch innerhalb von Eclipse, 
diese Links anlegen (auch unter Windows ;-) ).
Man muss das nicht mit dem OS-Filenamager machen.

von Christopher J. (christopher_j23)


Bewertung
0 lesenswert
nicht lesenswert
TestX schrieb:
> Die sinnvollste lösung wäre die libraries als eigenes projekt zu pflegen
> und per git zu versionieren. Das Projekt liegt dann irgendwo auf deinem
> PC.
>
> In deinen anderen Projekten klonst du dann dieses Repository in einen
> Unterordner. Und ja...du willst es früher oder später nurnoch manuell
> updaten. Den Fehler mit einem shared Ordner für sowas macht am Anfang
> jeder mal ;)

Ja, das wäre auch noch mein Vorschlag gewesen, also Git Submodule oder 
Git Subtree. Aber wenn es doch erstmal noch so funktioniert, dann würde 
ich es auch so belassen ohne es unnötig komplizierter zu machen. Der TO 
wird dann irgendwann schon merken wenn er das gerne versioniert hätte.

von 900ss D. (900ss)


Bewertung
0 lesenswert
nicht lesenswert
Christopher J. schrieb:
> die libraries als eigenes projekt zu pflegen
> und per git zu versionieren

Ist ein wenig von Projekt abhängig finde ich. Durchaus sinnvoll und gut, 
manchmal aber zuviel unnötiger Aufwand.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.