我安装了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));
答案 0 :(得分:0)
在我意识到制作过程出现问题后,找到了另一个SO question的答案。基本上,解决方案是将源代码复制到Xcode中并将其构建为项目的一部分,而不是尝试将其链接为库。
我还尝试在ubuntu机器(12.04)上构建libjson 7.6.1,尽管完美制作,但遇到了确切的问题。