2016-04-30 15 views
-1

Ich habe die 2D-Grafikbibliothek Cairo installiert, und ich habe dann versucht, ein einfaches Programm zu kompilieren, das es verwendet, aber ich hatte eine Menge Probleme, wie:Kompilieren eines C-Programms meine Verknüpfung mit einer externen Bibliothek

stroke.c:1:10: fatal error: 'cairo.h' file not found 
#include <cairo.h> 
     ^
1 error generated. 

Dann fand ich diesen Artikel:

http://cairographics.org/FAQ/

, wo sie im Grunde sagen, dass wir den Compiler anweisen sollte, wo die cairo.h wird unter Verwendung eines Befehls wie gelegen:

cc -o hello $(pkg-config --cflags --libs cairo) hello.c 

Das funktionierte, das heißt bekam hello.c zusammengestellt und eine ausführbare Datei erzeugt wurde, aber ich verstehe nicht, diese Syntax.

Was bedeutet $ hier bedeutet? Ich denke, das ist nicht mit C, sondern mit einer Bash-Option verbunden. Was bedeutet der Befehl zwischen ( und )?

+1

Ihre Frage bezieht sich eindeutig nicht auf C! Eigentlich ist es nicht einmal mit Kairo verwandt. – Olaf

Antwort

0

Die $(...) bedeutet "führen Sie den beiliegenden Befehl und verwenden Sie seinen Ausgang". Es heißt Befehlssubstitution (früher Backticks) und wird here beschrieben.

Der beiliegende Befehl pkgconfig, den Sie selbst ausführen können, bedeutet "Bitte sagen Sie mir die richtigen Compiler-Flags für das Cairo-Paket".