2013-10-07 16 views
1

我在Fedora 19上使用fish shell。我試圖編譯this簡單的gtkmm例子。使用pkg-config與gcc在魚中的錯誤

當我嘗試在使用下面的命令編譯:

g++ sample.cc -o sample `pkg-config gtkmm-3.0 --cflags --libs` 

它顯示了以下錯誤:

g++: error: `pkg-config: No such file or directory 
g++: error: gtkmm-3.0: No such file or directory 
g++: error: unrecognized command line option ‘--cflags’ 
g++: error: unrecognized command line option ‘--libs`’ 

然而,當我使用慶典爲同事情,它編譯正確。這意味着pkg-config會獲取正確的標誌。

我最近開始使用所以我不知道那裏出了什麼問題。有人可以幫助我嗎?

此外,這是我在stackoverflow上的第一個問題。大家好。

謝謝。

+0

嘗試'yum install pkgconfig'。 – devnull

+0

我已經有了pkg-config。代碼在** bash **上編譯,但不在**魚**上。 –

+0

在這種情況下,'魚'上的'PATH'似乎破裂了。 – devnull

回答

3

魚殼使用()進行命令替換,而不是Bash使用的反引號。請參閱:The Fish tutorial。這就是爲什麼它不適合你,這不可能是你的PATH問題。

我不明白爲什麼,但由於某些原因,如果你簡單地用括號代替反引號,你會遇到另一個錯誤(其中...pkg-config輸出):

g++: error: unrecognized command line option '... '

你可以通過使用魚命令eval來解決這個問題。所以:

eval g++ sample.cc -o sample (pkg-config gtkmm-3.0 --cflags --libs)

應該工作。