Forum: Compiler & IDEs AVR Compiler IDE unter Linux Libs einbinden


von Gerhard H. (oderlachs)


Lesenswert?

Hallo AVR Freaks !

Wie schon des öfteren erwähnt will ich ja weg vom Windoof, aber immer 
wieder wird mir unter Linux eine Fussfessel neu gelegt.

Der Übersicht und auch der Schreibfaulheit  wegen habe ich viel 
Libraries geschrieben, die ich dann bei vielen Programmen einsetzen 
kann.

Nun gelingt mir unter Geany oder Eclipse + AVR-Plugin aber nicht, diese 
lib-Dateien zu nutzen, es sei denn ich includiere komplett auch die 
c-Datei und nicht nur die zugehörige h-header-Datei.

So bin ich bei grösseren Sachen auch wieder auf das AVR-AStudio unter 
Windoof angewiesen.

Nun , da ich ja nicht alles wissen kann, frage ich hier :
Gibt es dazu Alternativen unter Linux ??

Aus altersbedingten und "tipptechnischen"  Gründen möchte ich aber nicht 
wieder zu Compilierung, Linken usw...per Komandozeile zurück gehen....

Ich bin froh, das das für mich zur hinter mir liegenden 
Programmier-Geschichte gehört.

Nun ja vielleicht weiss ja wer einen guten Rat für mich ?

Ich benutze Linux-Mint / Debian 64Bit

Gruss und Dank

Gerhard

von Oliver S. (oliverso)


Lesenswert?

Eine lib ist eine lib ist eine lib ist eine lib...
und keine c-Datei.

Und "inkludieren" im Sinne von #include macht man weder mit libs noch 
mit c-Dateien.

Was also hast du jetzt wirklich?

Wenn deine "libs" keine sind, sondern c-Dateien, dann müssen die alle 
einzeln ins Projekt aufgenommen werden. Das ist aber nicht nur unter 
linux und Eclipse so, das gilt grundsätzlich für alle toolchains, selbst 
bei Nutzung von make mit makefiles. Insofern ist dein Problem nicht so 
ganz verständlich, denn unter Windows und auch im Studio ist das nicht 
anders.

Wenn deine libs tatsächlich libs wären, dann müssten die allerdings auch 
alle einzeln dem Projekt hinzugefügt werden. Groß ändern täte das also 
nichts.

Oliver

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Man kann aber auch in eclipse ein Referenz Projekt benutzen.
Dazu einfach die eigenen libs bzw. deren Quellen in ein Projekt legen 
und dieses als Referenz angeben.

von Oliver S. (oliverso)


Lesenswert?

Kann man. Und auch dabei gibt es keine Unterschied zwischen der Windoes- 
und der Linux-Version.

Oliver

von Bernd K. (prof7bit)


Lesenswert?

Gerhard H. schrieb:
> Wie schon des öfteren erwähnt will ich ja weg vom Windoof, aber immer
> wieder wird mir unter Linux eine Fussfessel neu gelegt.

Dein Problem ist kein Linux-spezifisches Problem sondern Du hast ein 
großes Verständnisproblem beim Umgang mit der Sprache C. Dort würde ich 
zuerst ansetzen. Das ist kein Beinbruch, jeder hat mal klein angefangen.

> unter Linux eine Fussfessel

Gerade Programmierer fühlen sich unter Linux besonders wohl, ist doch 
diese Umgebumg traditionsgemäß von und für solche Leute entwickelt 
worden, es ist quasi in jeder erdenklichen Hinsicht sowas wie der 7te 
Himmel für Programierer, insofern wirkt diese Fußfessel-Aussage von Dir 
schon irgendwie außerordentlich ... schräg.

: Bearbeitet durch User
von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Header: *.h, *.hpp wird included und weder compiliert noch gelinkt. 
Einen Header zu Compiliern führt bei GCC zu einem pre-compiled Header.

Modul: *.c (C), *.c++, *.cpp, *.C (C++), *.sx, *.S (Assembler) werden 
compiliert + assembliert und dann als Object (*.o) dem Link zugeführt.

Lib: libXY.a wird gelinkt mit -lXY, wobei -lXY beim Linken nach allen 
Objecten (*.o) angegeben wird. Handelt es sich im eine eigene Lib, ist 
ihr Verzeichnit per -L<Verzeichnis> dem Linker mitzuteilen.

Im einfachsten Fall mit 2 Modulen und ohne eigene Bibliotheken macht man 
compile + link durch einen Aufruf, z.B:
1
avr-gcc -mmcu=atmega8 -W -Os modul1.c modul2.c -o anwendung.elf

von Gerhard H. (oderlachs)


Lesenswert?

Ich danke Euch allen erst einmal recht herzlich, obwohl Ich und Oliver 
wohl zwei verschiedene Schuhe meinen... na egal.

Johann Dir danke ich ganz besonders für das Beispiel am Ende Deines 
Postings. !!!

Wird schon werden....

Dank und Gruss

Gerhard

von root (Gast)


Lesenswert?

Falls du zuätzlich noch auf der Suche nach einer alternativen für 
Eclipse bist kann ich dir CLion von JetBrains sehr empfehlen. Kostet 
aber ein wenig was.

von Gerhard H. (oderlachs)


Lesenswert?

Danke root,

das "..kostet ein wenig was" ist doch zu etwas zu hoch gegriffen für 
meine Hobby Programmiererei....

Da lass ich dann den Winblöd-PC laufen und nutze AVR Studio weiter...

Ist aber mal interessant sich mal damit zu befassen, 30 Tage ist er ja 
"Free", soweit man da auch richtig mit arbeiten kann , und nicht nur 
Bildschirmübungen machen darf..

Werde mal versuchen das CLion von JetBrains

Gruss Gerhard

von root (Gast)


Lesenswert?

ich glaub ich ziehe meine Empfehlung wieder zurück. Es ist wirlich eine 
tolle IDE aber auch dort muss man sich "einarbeiten". Es basiert auf 
CMAKE als Projektverwaltung. Ich halte dieses Konzept für sehr 
durchdacht und Leistungsfähig. Aber wie gesagt muss man sicht damit 
beschäftigen. Und wenn es "nur" für das Hobby ist ....

von Oliver S. (oliverso)


Lesenswert?

Vor allem löst das keins der oben angesprochenen Probleme.

Oliver

von Root (Gast)


Lesenswert?

Doch es löst das Problem von Windows weg zu können da CLion auf 
verschiedenen Platformen läuft.

von abcde (Gast)


Lesenswert?

Gerhard H. schrieb:
> Da lass ich dann den Winblöd-PC laufen und nutze AVR Studio weiter...

Du wirst hier nicht populärer und anerkannt wenn du Windows als 
"Winblöd" bezeichnest. Das ist Kinderkacke.

von Gerhard H. (oderlachs)


Lesenswert?

wenn Du meinst...

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Root schrieb:
> Doch es löst das Problem von Windows weg zu können da CLion auf
> verschiedenen Platformen läuft.
So wie viele andere IDE auch: Eclipse, NetBeans, QtCreator, Geany, ...
und die kosten nicht mal was. Alles was man (im schlimmsten Fall) tun 
muss, ist sie richtig einzustellen (pfade zu den libs und includes 
setzen, pfad zum Compiler, etc.).

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
Noch kein Account? Hier anmelden.