gtk+

Schnelle objektorientierte, kompilierende Programmiersprache.
genspi
Beiträge: 3
Registriert: So Feb 08, 2015 2:19 pm

gtk+

Beitrag von genspi » So Feb 08, 2015 2:38 pm

Hallo zusammen!

Ich versuche gerade, mich in die gtk+ Bibliothek einzuarbeiten und bin daher dabei, die Tutorials durchzuarbeiten.
Hier habe ich mich ein bisschen verfranzt: https://www.proggen.org/doku.php?id=c:t ... :libraries
Ich habe die gtk-lib installiert, Umgebungsvariabeln eigetragen, das GTK Runtime Environment installiert, und versuche nun, das Beispielprogramm aus obigem Tutorial zu übersetzen. Ich verwende momentan keine Entwicklungsumbegung, lediglich Editor und cmd.
Meine Eingabe auf der kommandozeile lautet dabei:
...>gcc -o test.exe test.c `pkg-config gtk+-3.0 --cflags --libs`
Als Antwort erhalte ich dann:
gcc: error: `pkg-config: No such file or directory
gcc: error: gtk+-3.0: no such file or directory
gcc: error: unrecognized command line option `--cflags`
gcc: error: unrecognized command line option `--libs`
gtk+ - version ist 3.6.4, OS: Win7 x64

Was habe ich dabei vergessen/falsch gemacht?
Schon mal vielen Dank für eure Hilfe :)

Gruß,
genspi

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: gtk+

Beitrag von nufan » So Feb 08, 2015 3:54 pm

Hallo! :)

Ich bin mir grad nicht sicher wie cmd mit den Backticks (``) umgeht. Was wird dir denn ausgegeben, wenn du

Code: Alles auswählen

pkg-config gtk+-3.0 --cflags --libs
in der Konsole ausführst?

genspi
Beiträge: 3
Registriert: So Feb 08, 2015 2:19 pm

Re: gtk+

Beitrag von genspi » So Feb 08, 2015 8:37 pm

Ohne Bachticks, also mit

Code: Alles auswählen

...>gcc -o test.exe test.c pkg-config gtk+-3.0 --cflags --libs
bekomme ich exakt die gleiche Fehlermeldung:

Code: Alles auswählen

gcc: error: `pkg-config: No such file or directory
gcc: error: gtk+-3.0: no such file or directory
gcc: error: unrecognized command line option `--cflags`
gcc: error: unrecognized command line option `--libs`

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: gtk+

Beitrag von nufan » So Feb 08, 2015 9:03 pm

Ich meinte auch du sollst nur das von mir genannte Kommando ausführen, ohne gcc davor. Also wirklich nur:

Code: Alles auswählen

...>pkg-config gtk+-3.0 --cflags --libs

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: gtk+

Beitrag von Xin » Mo Feb 09, 2015 10:34 am

genspi hat geschrieben:Ich versuche gerade, mich in die gtk+ Bibliothek einzuarbeiten und bin daher dabei, die Tutorials durchzuarbeiten.
Hier habe ich mich ein bisschen verfranzt: https://www.proggen.org/doku.php?id=c:t ... :libraries
Oh, schön, gtk ist gerade bei uns etwas verwaist.
Würde mich freuen, wenn da Nachwuchs kommt :-)
genspi hat geschrieben:Ich habe die gtk-lib installiert, Umgebungsvariabeln eigetragen, das GTK Runtime Environment installiert, und versuche nun, das Beispielprogramm aus obigem Tutorial zu übersetzen. Ich verwende momentan keine Entwicklungsumbegung, lediglich Editor und cmd.
Meine Eingabe auf der kommandozeile lautet dabei:
...>gcc -o test.exe test.c `pkg-config gtk+-3.0 --cflags --libs`
Die Microsoft-CMD ist keine sonderlich wertige Shell. Ich habe das nie unter Windows in der Konsole alleine ausprobiert.
Ich rate Dir dringend dazu, Dich mit Make auseinander zu setzen und sei es nur deswegen, dass Du statt des langen Compiler-Aufrufes einfach nur "make" schreiben musst.

Das Make-Skript siehst Du hier. Eventuell musst Du die Stellen

Code: Alles auswählen

GTK_LIBS  = `pkg-config --libs gtk+-2.0`
GTK_FLAGS = `pkg-config --cflags gtk+-2.0`
so anpassen, dass Du pkg-config in der Konsole aufrufst und die Ausgabe hinter GTK_LIBS, bzw. GTK_FLAGS in eine Zeile reinkopierst.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: gtk+

Beitrag von mfro » Mo Feb 09, 2015 11:33 am

Auch in CMD.EXE gibt's eine (ziemlich unbekannte und ziemlich kranke - der Amerikaner würde sagen "braindead"-) Alternative zu den Unix-Backticks (bzw. bash $()-Expansion):

Code: Alles auswählen

for /f %a in ('"pkg_config gtk+-3.0 --cflags --libs"') do gcc -o test.exe test.c %a 
Nicht probiert, aber müsste eigentlich funktionieren.

P.S.: falsch abgeschrieben - korrigiert
Zuletzt geändert von mfro am Mo Feb 09, 2015 11:44 am, insgesamt 1-mal geändert.
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: gtk+

Beitrag von Xin » Mo Feb 09, 2015 11:42 am

mfro hat geschrieben:Auch in CMD.EXE gibt's eine (ziemlich unbekannte und ziemlich kranke - der Amerikaner würde sagen "braindead"-) Alternative zu den Unix-Backticks (bzw. bash $()-Expansion):

Code: Alles auswählen

for /f %a in ('"pkg_config gtk+-3.0"') do gcc -o test.exe test.c %a --cflags --libs
Nicht probiert, aber müsste eigentlich funktionieren.
--cflags und --libs gehören zu pkg_config. Wenn das ganz hinten stehen muss, dann wäre das aber sowas von daneben ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: gtk+

Beitrag von mfro » Mo Feb 09, 2015 11:45 am

Danke, hab's geflickt.
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

genspi
Beiträge: 3
Registriert: So Feb 08, 2015 2:19 pm

Re: gtk+

Beitrag von genspi » Mo Feb 09, 2015 1:13 pm

Erstmal vielen Dank an euch alle für eure vielen Lösungsvorschläge :)
dani93 hat geschrieben:Ich meinte auch du sollst nur das von mir genannte Kommando ausführen, ohne gcc davor. Also wirklich nur:

Code: Alles auswählen

...>pkg-config gtk+-3.0 --cflags --libs
Ok, wenn ich nur das eingebe, erhalte ich folgende Ausgaben auf der Kommandozeile:
Bild

@mfro: Bei dieser Eingabe

Code: Alles auswählen

for /f %a in ('"pkg_config gtk+-3.0 --cflags --libs"') do gcc -o test.exe test.c %a 
erhalte ich folgende Ausgabe:

Code: Alles auswählen

C:\...\>gcc -o test.exe test.c -mms-bitfields
test.c:3:21: fatal error: gtk/gtk.h: No such file or directory
 #include <gtk/gtk.h>
                                ^
compilation terminated
@Xin: Mit make habe ich mich noch nicht beschäftigt, da muss ich mich vorher noch mit vertraut machen, ich werde mich dann zu gegebener Zeit wieder melden.

Gruß,
genspi

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: gtk+

Beitrag von Xin » Mo Feb 09, 2015 2:11 pm

Alles, was pkg_config ausgibt, musst Du an Compiler übergeben. Um das zu vereinfachen, gibt es ja eben das Tool.

Damit Du nicht bei jedem Kompilieren einen Schreibkrampf bekommst, kann Make Dir diese Aufgabe abnehmen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten