在fish中使用pkg-config和gcc时出错

时间:2013-10-07 06:58:13

标签: bash gcc fish pkg-config

我在Fedora 19上使用fish shell。我试图编译this简单的gtkmm示例。

当我尝试使用 fish

中的以下命令编译它时
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`’

然而,当我使用 bash 进行相同的操作时,它会正确编译。这意味着pkg-config会获取正确的标志。

我最近开始使用,所以我不知道那里有什么问题。有人可以帮我这个吗?

另外,这是我关于stackoverflow的第一个问题。大家好。

谢谢。

1 个答案:

答案 0 :(得分:3)

Fish shell使用( )进行命令替换,而不是Bash使用的反引号。见:The Fish tutorial。这就是为什么它不适合你,它不太可能是你的PATH的问题。

我不太明白为什么,但出于某种原因,如果你只是用括号替换反引号,你会遇到另一个错误(其中...从{{1}输出}}):

pkg-config

您可以使用fish命令g++: error: unrecognized command line option '... '来解决这个问题。所以:

eval

应该工作。