无法在c ++嵌入XCode 4项目中安装libjson

时间:2013-07-05 19:01:47

标签: c++ libjson

我根本无法弄清楚如何在我的c ++项目中安装libjson。我在网上经历过一切。我将这个嵌入到我的项目中。

首先我尝试了这个

  1. 将libjson目录移动到我的项目中
  2. 注释掉:#define JSON_LIBRARY
  3. Ran make
  4. 添加了#include“libjson / libjson.h”
  5. 项目构建正常..

    在main.cpp文件中添加了以下内容:

    JSONNode n = libjson::parse(json);
    

    构建失败,出现两个错误:

    Undefined symbols for architecture x86_64:
      "JSONWorker::parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
          libjson::parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in main.o
      "internalJSONNode::deleteInternal(internalJSONNode*)", referenced from:
          JSONNode::decRef()     in main.o
    ld: symbol(s) not found for architecture x86_64
    collect2: ld returned 1 exit status
    

    我也试过make&amp;&amp; sudo make install并手动编译项目。同样的错误:

    g++ main.cpp -o junk -I/usr/include/libjson -ljson
    

    我也尝试过:

    SHARED=1 make && sudo SHARED=1 prefix=/usr/local make install
    

    最后,我尝试将libjson文件复制到我的项目中,并且也会遇到相同的错误。

    请有人能告诉我我做错了什么吗?我们使用的是rapidjson,但更喜欢libjson的外观。主要问题是我们无法安装它!

    使用的其他参考文献:

1 个答案:

答案 0 :(得分:1)

我正在回答我自己的问题,因为这是一个痛苦的问题。以下是我为使其发挥作用所做的一切。

  1. 在JSONOptions.h中注释掉#define JSON_LIBRARY
  2. 运行make
  3. 将libjson.a添加到您的项目
  4. 将libjson.h添加到您的项目
  5. 将JSONOptions.h添加到您的项目
  6. 将#include“libjson.h”添加到主项目文件
  7. 瞧。希望你不要浪费我这么多的时间......