Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与库链接的C程序_C_Makefile_Jansson - Fatal编程技术网

与库链接的C程序

与库链接的C程序,c,makefile,jansson,C,Makefile,Jansson,我正在尝试将一个库链接到我的C程序,但我无法使它工作 根据图书馆的文件,我要做的就是 pkg config--cflags--libs jansson在Makefile中的GCC之后,但我得到以下错误: make-Cpkg-config-cflags-libs-janssonsrc make:无效选项--“/” make:无效选项--“u” make:无效选项--“/” 用法:在Makefile中使[options][target]…执行如下操作: LIBS = $(shell pkg-conf

我正在尝试将一个库链接到我的C程序,但我无法使它工作 根据图书馆的文件,我要做的就是
pkg config--cflags--libs jansson
在Makefile中的GCC之后,但我得到以下错误:

make-C
pkg-config-cflags-libs-jansson
src
make:无效选项--“/” make:无效选项--“u” make:无效选项--“/”
用法:在Makefile中使[options][target]…

执行如下操作:

LIBS = $(shell pkg-config --libs jansson)
CFLAGS = $(shell pkg-config --cflags jansson)
然后,在目标内部(编译/链接代码的地方),按以下方式使用它:

cc ... $(LIBS) $(CFLAGS)
如果您正在查找
Makefile
示例,请查看以下内容:


它并不完全是您想要的,但它应该能让您了解
Makefile
结构、目标、通配符等。它是基于
Fortran
的,但我相信您可以很容易地阅读它。

这不是您应该如何使用
pkg config
,就像你自己说的,它需要在调用编译器时添加,而不是make。请添加您的makefile以提供一个新的makefile,我以为gcc是与make合并的,我只是发布了makefile一般来说,除非您知道如何在没有make的情况下使用make,否则无法使用make。看起来正确的编译器命令是“cc-oprog prog.c
pkg config--cflags--libs jansson
”,但在尝试围绕它构建生成文件之前,必须确认这一点。这是一个非常相似的问题的答案