版本:1.4.5 ./a.out:符号查找错误:/usr/local/lib/libcjson.so.1:未定义符号:floor

版本:1.4.5 ./a.out:符号查找错误:/usr/local/lib/libcjson.so.1:未定义符号:floor

我遇到了与 cJSON 相关的错误。我制作并编译超轻量级_cJSON在 Ubuntu 18 中,cJSON 运行良好,但只发生了一些小问题。

当我使用cJSON_AddNumberToObject(fmt,“宽度”,1920);
附加数字到对象相关函数然后我收到以下错误:

版本:1.4.5 ./a.out:符号查找错误:/usr/local/lib/libcjson.so.1:未定义符号:floor

我也尝试编译-lm但仍然不起作用。请建议我该如何解决这个问题。

答案1

对我来说很好用。

确保您已经将其安装到您的系统中:

  1. git clone https://github.com/DaveGamble/cJSON
  2. cd cJSON && mkdir build && cd build
  3. cmake ..
  4. make
  5. sudo make install<- 实际安装它
  6. 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
}

相关内容