Seite 1 von 2

gtk+

Verfasst: So Feb 08, 2015 2:38 pm
von genspi
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

Re: gtk+

Verfasst: So Feb 08, 2015 3:54 pm
von nufan
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?

Re: gtk+

Verfasst: So Feb 08, 2015 8:37 pm
von genspi
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`

Re: gtk+

Verfasst: So Feb 08, 2015 9:03 pm
von nufan
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

Re: gtk+

Verfasst: Mo Feb 09, 2015 10:34 am
von Xin
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.

Re: gtk+

Verfasst: Mo Feb 09, 2015 11:33 am
von mfro
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

Re: gtk+

Verfasst: Mo Feb 09, 2015 11:42 am
von Xin
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 ;-)

Re: gtk+

Verfasst: Mo Feb 09, 2015 11:45 am
von mfro
Danke, hab's geflickt.

Re: gtk+

Verfasst: Mo Feb 09, 2015 1:13 pm
von genspi
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

Re: gtk+

Verfasst: Mo Feb 09, 2015 2:11 pm
von Xin
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.