我遇到了与 cJSON 相关的错误。我制作并编译超轻量级_cJSON在 Ubuntu 18 中,cJSON 运行良好,但只发生了一些小问题。
当我使用cJSON_AddNumberToObject(fmt,“宽度”,1920);
附加数字到对象相关函数然后我收到以下错误:
版本:1.4.5 ./a.out:符号查找错误:/usr/local/lib/libcjson.so.1:未定义符号:floor
我也尝试编译-lm但仍然不起作用。请建议我该如何解决这个问题。
答案1
对我来说很好用。
确保您已经将其安装到您的系统中:
git clone https://github.com/DaveGamble/cJSON
cd cJSON && mkdir build && cd build
cmake ..
make
sudo make install
<- 实际安装它sudo ldconfig
<- 更新库的链接(你可能需要这样做)
然后简单编译一个程序,例如:
#include <stdio.h>
#include <cjson/cJSON.h>
int main(int argc, char** argv)
{
cJSON *monitor = cJSON_CreateObject();
cJSON_AddNumberToObject(monitor, "width", 1920);
char *string = cJSON_Print(monitor);
printf("%s\n", string);
return 0;
}
像这样:
gcc example.c -o example.out -lcjson
并尝试运行它:
./example.out
给我
{
"width": 1920
}