2016-04-30 46 views
-1

我已經安裝了2D圖形庫cairo,然後我試着編譯一個簡單的程序使用它,但我遇到了很多問題,如:編譯C程序我鏈接到外部庫

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

然後我發現這篇文章:

http://cairographics.org/FAQ/

,他們基本上說,我們應該指示編譯器在cairo.h定位是通過使用如下命令:

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

這個工作,即hello.c得到了編譯和執行製作,但我不明白這句法。

$這是什麼意思?我想這與C無關,但是與bash選項無關。 ()之間的命令是什麼意思?

+1

你的問題顯然與C無關!其實它與開羅甚至沒有關係。 – Olaf

回答

0

$(...)表示「運行所附命令並使用其輸出」。它被稱爲命令替換(原來的反引號),並被描述爲here

封裝的pkgconfig命令,您可以自行運行,意思是「請告訴我開羅軟件包的正確編譯器標誌」