🛈 Aktuell gibt es im Wiki ca. 300 Artikel, die nur für Xenial getestet sind. Dies entspricht ca. 3,8 % aller Wikiartikel. Damit diese im Frühjahr nicht alle archiviert werden müssen, ist eure Mithilfe gefragt!
Programmieren für/in Linux
Status:
Gelöst
|
Ubuntu-Version:
Ubuntu 20.04 (Focal Fossa)
Antworten |
ChickenLipsRfun2eat
Moderator & Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 8955
Wohnort: 10.10.10.50
|

22. Januar 2021 13:29
Axel-Erfurt schrieb: | gcc $(pkg-config --cflags gtk+-3.0) -rdynamic -o test main.c $(pkg-config --libs gtk+-3.0)
|
erstellt eine gemeinsame Bibliothek
Nicht mit einer main-Funktion in main.c. Dann wirds ein Programm.
MiniBeispiel: | #include <stdio.h>
void hw() { printf( "Hello World!\n" ); }
int main( void ) { hw(); }
|
wird mit obiger Befehlszeile ein ausführbares Programm ./test und keine Bibliothek, die hw() enthält.
|
Axel-Erfurt
Anmeldungsdatum: 18. Mai 2016
Beiträge: 1049
Wohnort: Erfurt
|

22. Januar 2021 14:15
Ich bezog mich ja auf das Beispiel von tom111 Was ist dann verkehrt an seiner main Funktion?
|
Schmutzfink
Anmeldungsdatum: 29. Juni 2008
Beiträge: 67
|

22. Januar 2021 14:51
Irgendwie habt ihr beide Recht. Seit kurzem erzeugt gcc/g++ immer position independent executable, wenn man nichts weiter angibt. Das soll ein Sicherheitsmerkmal sein, weil ein Angreifer dann kaum Adressen erraten kann. So erzeugte Programme können problemlos aus dem Menü oder der Konsole gestartet werden. Aber Dateimanager tun sich noch schwer damit. Bei einem Doppelklick auf so ein Programm kommt dann die Fehlermeldung: Für den Dateityp Gemeinsame Bibliothek ist keine Anwendung installiert.
|
ChickenLipsRfun2eat
Moderator & Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 8955
Wohnort: 10.10.10.50
|

23. Januar 2021 11:57
Ich glaube ich habe nur den Bezug zur gemeinsamen Bibliothek nicht verstanden. Wenn mir das noch mal jemand darstellen könnte, worum es dabei geht? An Toms Main ist nichts falsch. Kompiliert sauber und startet wie angegeben.
| user@x220[/tmp/c]› gcc $(pkg-config --cflags gtk+-3.0) -rdynamic -o test tom.c $(pkg-config --libs gtk+-3.0)
user@x220[/tmp/c]› ./test
Knopf 'BUTTON1' geklickt!
Exit Programm
user@x220[/tmp/c]›
|
|
Axel-Erfurt
Anmeldungsdatum: 18. Mai 2016
Beiträge: 1049
Wohnort: Erfurt
|

23. Januar 2021 12:59
ChickenLipsRfun2eat schrieb: Ich glaube ich habe nur den Bezug zur gemeinsamen Bibliothek nicht verstanden. Wenn mir das noch mal jemand darstellen könnte, worum es dabei geht? An Toms Main ist nichts falsch. Kompiliert sauber und startet wie angegeben.
Richtig, aber was sagt der Dateimanager zu test Dein kurzes Beispiel habe ich nun mal mit 3 Varianten getestet. gcc $(pkg-config --cflags gtk+-3.0) -rdynamic -o test main.c $(pkg-config --libs gtk+-3.0) Gemeinsame Bibliothek g++ -no-pie -o test1 main.c `pkg-config gtkmm-3.0 --libs --cflags` Programm g++ -o test2 main.c `pkg-config gtkmm-3.0 --libs --cflags` Gemeinsame Bibliothek
|
ChickenLipsRfun2eat
Moderator & Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 8955
Wohnort: 10.10.10.50
|

23. Januar 2021 16:27
Ach so. Ich verwende keinen Dateimanager. Es ist also ein ausführbares Programm, wird aber durch PIE als Bibliothek angezeigt. Danke fürs Erklären, das war das, was mir fehlte.
|
myOWNsystem
(Themenstarter)
Anmeldungsdatum: 24. Dezember 2020
Beiträge: 24
|

13. Februar 2021 19:30
(zuletzt bearbeitet: 13. Februar 2021 19:31)
Hey! Hallo und Bonjour,
Toll für die ganzen Tipps, Hilfen usw.
Ich hatte in letzter Zeit leider kaum Zeit es zu probieren, ich habe heute mich aber rangesetzt und probiert. Also, ich muss sagen. Es macht immer mehr Spaß! Ich Schreibe nochmal bald was ich so gemacht und probiert habe! Nein!!! Hier wollte ich gar nicht Antworten. Entschuldigt mich!
|