C 海合会提出";无法识别的命令行选项";pkg配置错误

C 海合会提出";无法识别的命令行选项";pkg配置错误,c,gcc,gtk,zsh,pkg-config,C,Gcc,Gtk,Zsh,Pkg Config,我正在尝试使用教程编译一个gtk程序。当我发出命令时 gcc -o tut tut.c $(pkg-config --cflags --libs gtk+-2.0 gmodule-2.0) 我得到以下错误: gcc: error: unrecognized command line option ‘-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0

我正在尝试使用教程编译一个gtk程序。当我发出命令时

gcc -o tut tut.c $(pkg-config --cflags --libs gtk+-2.0 gmodule-2.0)
我得到以下错误:

gcc: error: unrecognized command line option ‘-pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0
-I/usr/include/gio-unix-2.0/ -I/usr/include/freetype2 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/libpng12 -I/usr/include/harfbuzz  -Wl,--export-dynamic -pthread
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0
-lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lfreetype
-lgmodule-2.0 -lglib-2.0  ’
gcc版本为4.8.2。pkg配置的版本是0.26。我已经安装了libgtk2.0-dev

我能很好地编译简单的c程序

如何解决“无法识别的命令”问题


[评论更新]


我正在使用
zsh

这看起来像是一个shell问题

你用的是什么外壳


如果它不是
bash
,请尝试一下
bash

我从pkg config--cflags--libs gtk+-2.0 gmodule-2.0的输出中删除了“-pthread”,并将该命令的输出粘贴到gcc命令的末尾,编译将顺利进行。如果我给gcc提供了无效选项,每个无法识别的命令行选项都在单独的错误消息中给出。这似乎是一个论点。您是否使用
“$(…)”
而不仅仅是
$(…)
或类似的东西?@mafso,我只使用$(…),没有引号。但是,这似乎是gcc的一个参数……您是否可以像删除“pthread”(如注释中所述)时那样做,但不删除它?有趣的是“如果替换未包含在双引号中,则使用IFS参数将输出分解为单词。”在“命令替换”下。总之,很好,您找到了解决方案。