与库链接的 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
的,但我很确定你可以轻松阅读。
我正在尝试 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
的,但我很确定你可以轻松阅读。