我有一个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它不是。所以,我需要帮助!!!!
答案 0 :(得分:0)
您是否使用-L选项将程序与库链接?
我看到你使用的是基于linux-i386架构的libjson-c。但是在错误中,我在arm文件夹中看到了编译器搜索库。你使用了正确的编译器吗?
答案 1 :(得分:0)
如果您有文件路径,例如 /myLibDir/libjson-c.so
像这样添加到Makefile:
CFLAGS += -L/myLibDir -ljson-c