我在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的第一个问题。大家好。
谢谢。
答案 0 :(得分:3)
Fish shell使用( )
进行命令替换,而不是Bash使用的反引号。见:The Fish tutorial。这就是为什么它不适合你,它不太可能是你的PATH的问题。
我不太明白为什么,但出于某种原因,如果你只是用括号替换反引号,你会遇到另一个错误(其中...
从{{1}输出}}):
pkg-config
您可以使用fish命令g++: error: unrecognized command line option '... '
来解决这个问题。所以:
eval
应该工作。