- 编译并成功安装mongo-cxx-driver(mongo db c ++ driver - 26Compat - 所有测试ok通过)。目录/ usr,所以/usrmongo/client/dbclient.h存在。
- 运行cmd:
g++ tutorial.cpp -pthread -lmongoclient -lboost_thread-mt -lboost_system -lboost_regex -lboost_filesystem -lboost_program_options -o tutorial
-file 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 :(得分: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。
之后eclipse仍然给出了教程的错误,但奇怪的是它确实构建了这个东西。我不得不清理那里的Debug和Release,最后只有一个警告,因为包含物被搞砸了。所以最后我废弃了eclipse项目,将教程文件复制到一个新项目,现在它构建干净。