首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >powerdns + mongodb

powerdns + mongodb
EN

Stack Overflow用户
提问于 2012-02-23 09:01:49
回答 3查看 728关注 0票数 1

我试图为powerdns编译mongodbbackend模块,但我遇到了这个问题:

代码语言:javascript
复制
In file included from mongodbbackend.cc:18:
mongodbbackend.hh: At global scope:
mongodbbackend.hh:109: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
mongodbbackend.hh:109: error: expected unqualified-id before ‘<’ token
make[3]: *** [mongodbbackend.lo] Error 1
make[3]: Leaving directory `/root/pdns-3.0.1/modules/mongodbbackend'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/pdns-3.0.1/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/pdns-3.0.1'
make: *** [all] Error 2

我尝试包含mongodb 2.0.2和2.0.3中的文件。以下是模块源代码:http://wiki.powerdns.com/trac/browser/trunk/pdns/modules/mongodbbackend

有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-03 23:05:51

你能试试这个补丁吗?

diff --git a/模块/mongodbbackend/mongodbbackend.hh b/modules/mongodbbackend/mongodbbackend.hh index 816128f..4f7cf78 100644 - a/modules/mongodbbackend/mongodbbackend.hh +++ b/模块/mongodbbackend/mongodbbackend.hh @@ -1,13 +1,13 @@ #ifndef MONGODB_HH #定义MONGODB_HH

代码语言:javascript
复制
+#include "client/dbclient.h"
 #include "pdns/dnsbackend.hh"

 #undef VERSION
 #include <string>
 using std::string;
-
-#include "client/dbclient.h"
+using std::auto_ptr;

 class MONGODBException {
 public:

它在https://github.com/azlev/powerdns/commit/a402d8493e5610e139ea19a9ef700e26b2e6e35c

票数 1
EN

Stack Overflow用户

发布于 2012-02-23 16:05:41

来自Ruben的帖子是我的匿名/非帐号帖子。我没有看格式,所以这篇文章有点混乱。

您的编译器错误可以通过添加以下命令来克服:

#include<memory>

并将第109行从:

auto_ptr<mongo::DBClientCursor> cursor;

std::auto_ptr<mongo::DBClientCursor> cursor;

然而,这会在我这一端引起其他错误(参见http://pastebin.com/Wm60JCDu)。不过,它可能对您有效:-)

如果你提供更多关于你的环境的信息(发行版,哪个版本的mango和使用的mango驱动程序),这将是很有帮助的。

票数 2
EN

Stack Overflow用户

发布于 2012-02-23 15:50:35

您的编译错误可以通过添加以下命令来克服:

代码语言:javascript
复制
#include<memory>

和变化

代码语言:javascript
复制
auto_ptr<mongo::DBClientCursor> cursor;

代码语言:javascript
复制
std::auto_ptr<mongo::DBClientCursor> cursor;

mangobackend.hh中的第108/109/110行附近

它可能对您有效,但我认为这在很大程度上取决于您正在使用的mangodb api。

如果你提供更多关于你的环境(发行版,芒果版本等)的信息,那将是很有帮助的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9405663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档