2014-12-22 1 views
1

- mongo-cxx-driver (mongo db C++ 드라이버 - 26Compat - 모든 테스트가 통과되었습니다)가 성공적으로 컴파일 및 설치되었습니다. 디렉토리/usr이므로 /usrmongo/client/dbclient.h가 있습니다.mongodb C++ 드라이버 오류 : "mongo :: client"가 선언되지 않았습니다.

-running 명령 :

g++ tutorial.cpp -pthread -lmongoclient -lboost_thread-mt -lboost_system -lboost_regex -lboost_filesystem -lboost_program_options -o tutorial 

- 파일의 tutorial.cpp

#include <cstdlib> 
#include <iostream> 
#include "mongo/client/dbclient.h" // for the driver 

void run() { 
    mongo::DBClientConnection c; 
    c.connect("localhost"); 
} 

int main() { 
    mongo::client::initialize(); 
    try { 
     run(); 
     std::cout << "connected ok" << std::endl; 
    } catch(const mongo::DBException &e) { 
     std::cout << "caught " << e.what() << std::endl; 
    } 
    return EXIT_SUCCESS; 
} 

결과 - 오류 :

tutorial.cpp: In function ‘int main()’: 
tutorial.cpp:11:12: error: ‘mongo::client’ has not been declared 

어떤 힌트?

답변

0

잘 모르겠지만 apt-get을 사용하여 mongo-dev 패키지를 설치 한 후에 비슷한 오류가 발생합니다. mongo 2.6 이후에는이 작업을 수행해서는 안됩니다. 단지 mongo 2.4 또는 그 이상으로 작동합니다. 결국 2.6 버전이 손상되어 결국 모든 것을 정리하고 mongo를 다시 설치 한 다음 github repo https://github.com/mongodb/mongo-cxx-driver에서 mongo-cxx-driver를 빌드해야합니다.

나중에 이클립스는 여전히 튜토리얼에 오류를 주었지만, 이상하게도 빌드했다. 나는 거기에 디버그와 릴리스를 모두 정리해야하고, 포함 된 것이 엉망이되어 경고 만 남겼습니다. 그래서 마침내 나는 이클립스 프로젝트를 폐기하고 튜토리얼 파일을 새로운 프로젝트에 복사했으며 이제는 깨끗하게 만들었다.

관련 문제