【问题标题】:Building with libjson on OSX Mavericks在 OSX Mavericks 上使用 libjson 构建
【发布时间】:2013-12-23 06:12:56
【问题描述】:

我已经尝试了关于线程 herehere 的建议,但无济于事。

我已经安装了 Xcode 5.0.2,并且正在命令行上编译所有内容。在 make/make install 构建 libjson 之后,我创建了一个简单的测试文件来链接并从中构建:

#include <iostream>
#include "libjson.h"

int main(int argc, const char * argv[])
{

    // insert code here...
    std::cout << "Hello, World!\n";
    JSONNode n(JSON_NODE);
    n.push_back(JSONNode("RootA", "Hello World"));
    JSONNode c(JSON_ARRAY);
    c.set_name("ArrayOfNumbers");
    c.push_back(JSONNode("", 16));
    c.push_back(JSONNode("", 42));
    c.push_back(JSONNode("", 128));
    n.push_back(c);
    std::string jc = n.write_formatted();
    std::cout << jc << std::endl;
    return 0;
}

当我尝试构建这个文件时:

g++ -DNDEBUG main.cpp -ljson

我明白了:

main.cpp:17:5: error: unknown type name 'JSONNode'
    JSONNode n(JSON_NODE);
    ^
main.cpp:18:17: error: use of undeclared identifier 'JSONNode'
    n.push_back(JSONNode("RootA", "Hello World"));
                ^
main.cpp:19:5: error: unknown type name 'JSONNode'
    JSONNode c(JSON_ARRAY);
    ^
main.cpp:21:17: error: use of undeclared identifier 'JSONNode'
    c.push_back(JSONNode("", 16));
                ^
main.cpp:22:17: error: use of undeclared identifier 'JSONNode'
    c.push_back(JSONNode("", 42));
                ^
main.cpp:23:17: error: use of undeclared identifier 'JSONNode'
    c.push_back(JSONNode("", 128));

【问题讨论】:

标签: xcode macos osx-mavericks libjson


【解决方案1】:

在我意识到 make 过程有问题后,从另一个 SO question 找到了答案。基本上,解决方案是将源代码复制到 Xcode 中并将其构建为项目的一部分,而不是尝试将其链接为库。

我还尝试在 ubuntu 机器(12.04)上构建 libjson 7.6.1,尽管制作完美,但遇到了确切的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-26
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    相关资源
    最近更新 更多