如何使用jsmn构建C脚本?
我试图编写一个简单的ansic脚本,它使用cURL进行一些REST调用,然后使用cURL解析JSON响应体。我已经让所有的卷曲部分都工作了,但是我不知道如何将它们与jsmn正确地连接起来。因此,首先,我一直在尝试建立他们的例子 例如,在克隆repo之后,有一个examples/目录,其中有一个名为simple.c的文件。我试着用这个命令来构建它:如何使用jsmn构建C脚本?,c,json,gcc,linker,jsmn,C,Json,Gcc,Linker,Jsmn,我试图编写一个简单的ansic脚本,它使用cURL进行一些REST调用,然后使用cURL解析JSON响应体。我已经让所有的卷曲部分都工作了,但是我不知道如何将它们与jsmn正确地连接起来。因此,首先,我一直在尝试建立他们的例子 例如,在克隆repo之后,有一个examples/目录,其中有一个名为simple.c的文件。我试着用这个命令来构建它: $ gcc -o simple simple.c $ gcc -ljsmn -o simple simple.c 但这导致了一个类似以下内容的错误
$ gcc -o simple simple.c
$ gcc -ljsmn -o simple simple.c
但这导致了一个类似以下内容的错误响应:
/tmp/ccGbLj94.o: In function `main':
simple.c:(.text+0xc8): undefined reference to `jsmn_init'
simple.c:(.text+0x10c): undefined reference to `jsmn_parse'
collect2: error: ld returned 1 exit status
我承认我对用ANSIC做任何事情都是相当陌生的,而且所有的事情都是Linux的。我相信我必须告诉gcc
链接到源代码中,但我不确定如何正确地做到这一点
正如您所知,在按照自述文件的指示运行make
之后,我将生成的jsmn.o和libjsmn.a文件复制到/usr/local/lib,并将chmod'ed 0755复制到jsmn.o文件。然后,我再次发出以下命令:
$ gcc -o simple simple.c
$ gcc -ljsmn -o simple simple.c
但不幸的是,它仍然有完全相同的错误输出。将
-ljsmn
添加到您的命令行-确保您的ld\u library\u路径
指向包含库的目录(man gcc,man ld
是您的朋友)没有可用的生成文件吗?有,但我是个新手,我真的不知道该怎么办。我很早就运行了sudomake
,它生成了jsmn.o和libjsmn.a文件。命令行上的-ljsmn
必须在simple.c
之后,请阅读重复问题的解释。c不是脚本语言。对不起,我不会说青春期