2010-08-26 92 views
0
#include <google/protobuf/io/coded_stream.h> 
namespace google::protobuf::io 

.... 
int fd = open("myfile", O_WRONLY); 
ZeroCopyOutputStream* raw_output = new FileOutputStream(fd); 
CodedOutputStream* coded_output = new CodedOutputStream(raw_output); 

以上是继教程here,但是当我编译得到以下错误:错误使用时,谷歌的protobuf的

error C2061: syntax error : identifier 'io' 

什么可以错在这里?

UPDATE

当我改变了上面using namespace google::protobuf::io;我得到一个新的错误说符号FileOutputStream没有定义,怎么来的?

回答

1

不要你的意思

using namespace google::protobuf::io; 
1
#include <google/protobuf/io/coded_stream.h> 
namespace google::protobuf::io 

这是病态的。你需要是using namespace google::protobuf::io;,我从其他发布的代码中猜测出来。

为什么顶部的代码段只用于该头部,而教程依赖于整个库。你只是复制和粘贴代码而不理解它。我不打算坐在这里,调试你可能遇到的每一个错误。你将不得不实际读取库页面并首先了解C++。

+0

谢谢男人!在这个变化之后,我得到一个新的错误,怎么回事? – user198729 2010-08-26 14:30:56

+0

为什么顶部的代码段仅用于该头部,而教程依赖于整个库。你只是复制和粘贴代码而不理解它。我不打算坐在这里,调试你可能遇到的每一个错误。 – Puppy 2010-08-26 15:01:39