gpt4 book ai didi

c - 对 `json_tokener_parse' 的 undefined reference

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:00 28 4
gpt4 key购买 nike

全部。

我在使用 JSON-C 时遇到问题OpenWRT Linux 发行版上的库。为了测试它,我在下面做了一个简单的程序。

#include <json/json.h>

int main() {
char * string = "{\"name\" : \"joys of programming\"}";
json_object * jobj = json_tokener_parse(string);
}

然后我用下面的命令编译它。

gcc test.c -o test -ljson-c

但是,我收到以下错误。

In function `main':
test.c:(.text+0x2c): undefined reference to `json_tokener_parse'
test.c:(.text+0x38): undefined reference to `json_tokener_parse'
collect2: ld returned 1 exit status

我什至用下面的命令编译了它,但它仍然没有工作。

gcc -ljson-c test.c -o test

然后我尝试在编译时添加-L参数,但仍然没有成功。

gcc test.c -o test -L/usr/lib -ljson-c

此 OpenWRT 发行版使用 opkg 作为其软件包安装程序,这是我运行 opkg install libjson-c 时显示的内容。

Package libjson-c (0.11-2) installed in root is up to date.

我什至运行了带有 -E 参数的编译命令,以查看是否使用了正确的 header ,看起来是这样,因为我可以找到方法声明 json_tokener_parse。我不确定我哪里出错了。我正准备从 Github 进行手动安装,但我真的不想这样做,因为我还必须手动安装其他程序。有人有什么建议吗?

谢谢。

最佳答案

我自己刚刚遇到了这个问题,如果您显式链接库,它将编译和链接:gcc -g -v -Wall -std=gnu99 -static -L/path/to/json-c-0.9/lib main.c -o test1 -ljson

关于c - 对 `json_tokener_parse' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31776457/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com