与库链接的 C 程序

C programs linked with library

我正在尝试 link 我的 C 程序的库,但我无法让它工作 根据图书馆文档 https://jansson.readthedocs.io/en/latest/gettingstarted.html#compiling-and-installing-jansson 我所要做的就是把 pkg-config --cflags --libs jansson 在 Makefile 中使用 GCC 之后,但出现以下错误:

make -C pkg-config --cflags --libs jansson src
make: 无效选项 -- '/' make: 无效选项 -- 'u' make: 无效选项 -- '/' 用法:make [options] [target] ...

在你的 Makefile 中做这样的事情:

LIBS = $(shell pkg-config --libs jansson)
CFLAGS = $(shell pkg-config --cflags jansson)

然后,在你的目标中(你 compile/link 你的代码)按照以下方式使用它:

cc ... $(LIBS) $(CFLAGS)

如果您正在寻找 Makefile 示例,请查看此处:

http://www.owsiak.org/fortran-and-gnu-make/

它不完全是你要找的东西,但它应该给你一些关于 Makefile 结构、目标、通配符等的想法。它是基于 Fortran 的,但我很确定你可以轻松阅读。