2013-12-22 2 views
1

Я пробовал советы по темам here и here безрезультатно.Здание с libjson на OSX Mavericks

У меня установлен Xcode 5.0.2, и я компилирую все в командной строке. После того, как макияж/сделать установку для создания 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

Возможный дубликат [создание библиотеки libjson для ссылки на xcode] (http://stackoverflow.com/questions/20010975/creating-a-libjson-library-to-link-to-xcode) –

ответ

0

Нашел ответ от другого SO question после того, как я понял, что процесс создания имел проблемы. В основном, решение заключается в том, чтобы скопировать исходный код в Xcode и построить его как часть проекта, а не пытаться связать его как библиотеку.

Я также попытался построить libjson 7.6.1 на машине ubuntu (12.04) и столкнулся с точной проблемой, несмотря на совершенный make.

Смежные вопросы