在 C 中使用 glib - 在 Makefile 中正确调用 pkg-config
Using glib in C - correct invocation of pkg-config in a Makefile
我正在尝试用 C 语言制作 Web 服务器。我正在使用 glib 库,我将其包含在我的 .c 文件中,语法为:
#include <glib.h>
为了能够使用该库,我在 Makefile 中添加了以下两行:
CFLAGS = 'pkg-config --cflags glib-2.0'
LDLIBS = 'pkg-config --libs glib-2.0'
但是当我从 Shell 编译时,我收到以下错误消息
gcc 'pkg-config --cflags glib-2.0' httpd.c 'pkg-config --libs glib-2.0' -o httpd
gcc: error: pkg-config --cflags glib-2.0: No such file or directory
gcc: error: pkg-config --libs glib-2.0: No such file or directory
make: *** [httpd] Error 1
有谁知道这个问题的解决方法吗?
根据您使用的品牌,您可能只需要:
CFLAGS = $(shell pkg-config --cflags glib-2.0)
LDLIBS = $(shell pkg-config --libs glib-2.0)
pkg-config
是一种工具,用于打印需要的 CFLAGS 和 LIBS 以进行标准输出,所以我看到了一种"double error" 这里:
您可能读到的是给出一个像 CFLAGS = `pkg-config --cflags glib-2.0`
这样的参数。注意这里的 反引号 ,它们告诉 shell 到 运行 一个命令,并用该命令的输出替换整个构造([=39= 的替代语法]s 是 $()
).
即使有反引号,这在语法与 sh
不同的 Makefile 中也不起作用。 GNU make中对应的结构是$(shell )
,所以只写CFLAGS = $(shell pkg-config --cflags glib-2.0)
.
我正在尝试用 C 语言制作 Web 服务器。我正在使用 glib 库,我将其包含在我的 .c 文件中,语法为:
#include <glib.h>
为了能够使用该库,我在 Makefile 中添加了以下两行:
CFLAGS = 'pkg-config --cflags glib-2.0'
LDLIBS = 'pkg-config --libs glib-2.0'
但是当我从 Shell 编译时,我收到以下错误消息
gcc 'pkg-config --cflags glib-2.0' httpd.c 'pkg-config --libs glib-2.0' -o httpd
gcc: error: pkg-config --cflags glib-2.0: No such file or directory
gcc: error: pkg-config --libs glib-2.0: No such file or directory
make: *** [httpd] Error 1
有谁知道这个问题的解决方法吗?
根据您使用的品牌,您可能只需要:
CFLAGS = $(shell pkg-config --cflags glib-2.0)
LDLIBS = $(shell pkg-config --libs glib-2.0)
pkg-config
是一种工具,用于打印需要的 CFLAGS 和 LIBS 以进行标准输出,所以我看到了一种"double error" 这里:
您可能读到的是给出一个像
CFLAGS = `pkg-config --cflags glib-2.0`
这样的参数。注意这里的 反引号 ,它们告诉 shell 到 运行 一个命令,并用该命令的输出替换整个构造([=39= 的替代语法]s 是$()
).即使有反引号,这在语法与
sh
不同的 Makefile 中也不起作用。 GNU make中对应的结构是$(shell )
,所以只写CFLAGS = $(shell pkg-config --cflags glib-2.0)
.