2012-07-25 3 views
-1

나는 그것이 어리석은 질문이지만 여전히 알고 있습니다.QJson 라이브러리 사용

내 프로젝트에 QJson 라이브러리를 사용하고 싶습니다. 필자는 공식 사이트에서 tarball을 다운로드했습니다 (아마 64 비트 Ubuntu 12.04 이하라고 말할 필요가 있습니다). INSTALL 파일 내가 정확하게 따라 다음 지침

mkdir build 
    cd build 
    cmake -DCMAKE_INSTALL_PREFIX=_preferred_path_ .. 
    make 
    make install 
    /sbin/ldconfig, if necessary 

있습니다. 내 /usr/local/include, /libshare 개의 QJson 폴더가 추가되었습니다. 그 후

, 내가 (QtCreator입니다) 내 IDE를 열고 다음과 같은 간단한 코드 테스트 프로젝트 만들기 :

#include <QVariant> 
#include <qjson/serializer.h> 

int main(int argc, char *argv[]) 
{ 
    QJson::Serializer s; 
    QVariantMap map; 
    map["hello"] = QVariantList() <<"t1"<<"t2"; 
    QByteArray json = s.serialize(map); 
} 

#include 잘 처리를 모든 유형의 자동 인식된다 QJson 클래스에 대한 완료가 잘 작동합니다. 컴파일 할 때 그러나,이 (가독성을 위해 제거 전체 경로) 받고 있어요 : 이유는 무엇

<...>/QJsonTest/main.cpp:15: undefined reference to `QJson::Serializer::Serializer()' 
<...>/QJsonTest/main.cpp:18: undefined reference to `QJson::Serializer::serialize(QVariant const&)' 
<...>/QJsonTest/main.cpp:18: undefined reference to `QJson::Serializer::~Serializer()' 
<...>/QJsonTest/main.cpp:18: undefined reference to `QJson::Serializer::~Serializer()' 
collect2: ld returned 1 exit status 

을, 그리고 어떻게 그것이 작동해야합니까?

답변

5

링커 (컴파일러가 아닌) 오류가 발생합니다. -L 옵션을 사용하여 QJson 라이브러리 파일의 경로를 추가해야합니다.