将json-c库链接到我的C项目

时间:2015-11-25 11:13:36

标签: c json linux

我有一个C项目。它的源代码有很多c文件,我想用Makefile编译它们,我还需要将Curl库和json-c库链接到这个项目。

我已经从libjson-c.so复制了/lib/i386-linux-gnu,因为我之前已经安装了它,然后在my_project“lib”目录中将其复制,然后我复制了包含头文件的json-c文件夹从我的/usr/include开始,然后将其粘贴到my_project“include”目录中。

然后在“Makefile”中我将CFLAGS分配给my_project“include”目录,并将我的DLL分配给“Dll”文件目录,然后通过添加-ljson-c链接json-c lib但是当我编译我的项目时,它返回:

error : "/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -ljson-c

现在我对这里的错误特别感到困惑,我已经对Curl库做了同样的事情并且它可以工作但是现在使用json-c它不是。所以,我需要帮助!!!!

2 个答案:

答案 0 :(得分:0)

您是否使用-L选项将程序与库链接?

我看到你使用的是基于linux-i386架构的libjson-c。但是在错误中,我在arm文件夹中看到了编译器搜索库。你使用了正确的编译器吗?

答案 1 :(得分:0)

如果您有文件路径,例如 /myLibDir/libjson-c.so

像这样添加到Makefile:

CFLAGS += -L/myLibDir -ljson-c