go的go protobuf 使用这个问题是不是一个bug

protobuf 安装中问题的解决 - 黄云斌的博客 - ITeye技术网站
博客分类:
解决办法: 把自带的gtest 1.4 换成1.5
安装的版本是2.6.4 我在服务器的centos上安装是没问题的。但是我在我的ubuntu系统上安装的时候,make check是不成功的。然后google了下,说是gtest的版本问题。见这个:/p/protobuf/issues/detail?id=433。
然后我下载了个gtest 1.5编译安装,然后protobuf的make check也可以通过了。
报错的内容:
Making check in .
make[1]: Entering directory `/home/sisinc/Desktop/protobuf-2.4.1'
check-local
make[2]: Entering directory `/home/sisinc/Desktop/protobuf-2.4.1'
Making lib/libgtest.a lib/libgtest_main.a in gtest
make[3]: Entering directory `/home/sisinc/Desktop/protobuf-2.4.1/gtest'
depbase=`echo src/gtest.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool --tag=CXX
--mode=compile g++ -DHAVE_CONFIG_H -I. -I./build-aux
-I. -I./include
-g -DNDEBUG -MT src/gtest.lo -MD -MP -MF $depbase.Tpo -c -o src/gtest.lo src/gtest.cc &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:
g++ -DHAVE_CONFIG_H -I. -I./build-aux -I. -I./include -g -DNDEBUG -MT src/gtest.lo -MD -MP -MF src/.deps/gtest.Tpo -c src/gtest.cc
-fPIC -DPIC -o src/.libs/gtest.o
In file included from ./include/gtest/gtest-param-test.h:159:0,
from ./include/gtest/gtest.h:59,
from src/gtest.cc:34:
./include/gtest/internal/gtest-param-util-generated.h: In instantiation of ‘testing::internal::ValueArray2&T1, T2&::operator testing::internal::ParamGenerator&T&() const [with T = T1 = T2 = bool]’:
./include/gtest/gtest-param-test.h:1186:28:
required from here
./include/gtest/internal/gtest-param-util-generated.h:80:26: error: ‘ValuesIn’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from ./include/gtest/gtest.h:59:0,
from src/gtest.cc:34:
./include/gtest/gtest-param-test.h:288:58: note: ‘template&class Container& testing::internal::ParamGenerator&typename Container::value_type& testing::ValuesIn(const Container&)’ declared here, later in the translation unit
make[3]: *** [src/gtest.lo] Error 1
make[3]: Leaving directory `/home/sisinc/Desktop/protobuf-2.4.1/gtest'
make[2]: *** [check-local] Error 2
make[2]: Leaving directory `/home/sisinc/Desktop/protobuf-2.4.1'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/home/sisinc/Desktop/protobuf-2.4.1'
huangyunbin
浏览: 1235062 次
来自: 广州
很赞,很赞
有好些错别字,请博主有时间抽空改下
LZ能来个原子场景的使用么
简单明了非常好。你的位置:&&
站内搜索:
口袋妖怪go最全BUG解决办法 减少死机方法BUG汇总吐血总结
18:17&&来源:互联网
口袋妖怪go最全BUG解决办法,减少死机方法BUG汇总吐血总结。《口袋妖怪go》(PokemonGo)虽然暂时未在中国上线,目前许多玩家反映游戏中有很多BUG,容易死机,针
口袋妖怪go最全BUG解决办法,减少死机方法BUG汇总吐血总结。《口袋妖怪go》(PokemonGo)虽然暂时未在中国上线,中国玩家千呼万唤有没有迎来开服消息,但是小编坚信如此大的中国市场,游戏商怎么会放过,所以大家尽管耐心等待和耐心的玩翻墙版把,所有的不能玩的问题慢慢都会迎刃而解。关于游戏在中国怎么成功玩到,请关注本站专题。目前许多玩家反映游戏中有很多BUG,容易死机,针对这个问题,小编给大家汇总了一些解决办法。卡Loading界面这类错误原因不明,可能是网络原因也可能是服务器原因,总之进度蓝条始终停留在五分之一左右。出现这类卡机时,除了不断的重启程序,似乎也只能休息一下……口袋妖怪go最全BUG解决办法精灵球发呆Bug这类卡机常见于在捕捉小精灵时发生。正常捕捉完毕后,精灵球会左摇摇右摇摇然后确认Gotcha或者Pokémon逃脱精灵球重新回到等待捕捉状态。如果卡机了,捕捉完毕后精灵球会呆呆地停在地面上纹丝不动,你也不知道到底是抓到了还是没有抓到。如果足够幸运的话,右上角的退出按钮仍然会显示,这时按退出,还是可以回到大地图界面,确认自己是否捕捉到。如果不怎么幸运,一个按钮都没有显示,那么就只有退出App重启了。唯一的好消息是,如果真的没捉到,那么重启App后大多数情况下小精灵仍然会出现在地图上,可以再次捕捉。这个Bug几乎是最影响游戏体验的情况之一,然而很不幸,无论是Android还是iOS,都会出现这个Bug……熏香BUG用熏香吸引来精灵后在捕捉界面如果长时间不捕捉,就不能再捕捉了,扔球会被直接弹开。但是如果这个时候关掉游戏再进入就又能捕捉了。此外熏香有时吸引来的同种精灵的CP,身高,体重是完全一样的,可以说是精灵研究的最好模板。因为精灵强化CP增长一般在8%~9%之间,并不是定值,所以猜测可能会有隐藏的成长属性,但是还需要更多研究来证明。口袋妖怪go最全BUG解决办法战斗一血Bug这是仅次于精灵球发呆的Bug,在训练道馆或者挑战道馆的时候,有时你会发现自己的Pokémon与道馆Pokémon(通常是最后一只)都只剩一丝血,但无论怎么打都互相打不死,只能重启App。重启后会发现你拿去挑战道馆的Pokémon几乎都还是满血状态。据国外玩家实测,这个Bug常见于有几个玩家同时挑战一个道馆的情况,可能是在多人同时挑战时只有一个玩家是真进入战斗了,其余的人只是在伪战斗。这个Bug让人十分无奈:因为玩家人数很多,所以你根本不可能和周围的玩家协调谁先打谁后打。到头来你只能盯着道馆的当前战斗结束再进行挑战,然则这也并没有什么用,其他玩家或许也和你一样正在等待独自挑战道馆的机会……无法进入战斗Bug实际上这是两种不同的Bug。一种是在打道馆时会在战斗Loading界面卡住,不显示Pokémon与任何按钮,这时通常只能重启App,通常和网络环境有关。另外一种情况是进入战斗之后立刻跳出回到道馆界面,通常见于因为一血Bug导致的逃跑或重启之后。好在打道馆不算特别频繁,所以这个Bug的影响也不算特别大。口袋妖怪go最全BUG解决办法服务器挂了这类卡机常见在登录时,在北美地区游戏刚上线的时候基本每天服务器要挂N个×分钟。一旦你登录后出现这种画面时,基本就不要做什么努力了,休息会儿做点别的去吧。减少死机率的方法从玩家爆料的信息来看,熏香与诱惑补丁同时开启也会大大提高死机率,这两个道具都是可以凭空产生精灵的,如果同时产生精灵就很可能会卡住。①更新装备,买个配置更高的手机;②不要打开摄像头与闪光灯;③在高电量时进行游戏;④不要同时孵多个相同km数的蛋,最好是一个蛋走了一定距离再开始孵下一个;⑤不要同时开着多个应用。
亚诺玛米萨满、活动人士大卫•可博纳瓦(Davi Kopenawa)说:“这些与世隔绝的印第...
惊呆!双胞胎弟弟后出生 反而成哥哥,美国各地统一拨表,所有时钟均拨慢1小时。而这对...
日本突然塌了块地,然后"冒出"了各种奇怪的东西,服了日本网友的脑洞,不过因为疏散及时...
虽然被称作鲸鱼的呕吐物,但实际上其实这是鲸鱼便秘的产物。由于鲸鱼只能排出液体状的...
男孩遭黑熊袭击:结局却暖心,男孩在山坡的下面拾捡木棍,突然山坡上出现了一只黑熊。...
教唆他人打NBA名宿之子?哈登被传讯,已故名宿摩西-马龙之子――小摩西-马龙表示于今年6...更新后fatego疑似出现bug_bilibili吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
更新后fatego疑似出现bug收藏
尸人数一直停在2/10。
楼主花了一个金苹果,希望能有补偿。
我也是赶快补偿
不过为什么打不出来人头..
很明显你打的是西装尸人,并不是尸人。
国服出了?                                           “亲爱的,你实话告诉我,第一次到底给谁了?”“你也知道,当初上学的时候离家远,来回得骑自行车……”“对不起,你别说了,我都知道了!”“你知道什么呀,邻居哥哥怕我骑车危险,就来回带着我,我一感动,就把第一次给他了!”“卧槽!告诉我就行了,可千万别跟你媳妇说,怕她承受不了。。。。。”   
赞美运营还不好么
2个苹果...我以为是次数然后刷了15遍..
不是我一个人的问题啊,可喜可贺可喜可贺
好啊好啊补偿补偿
&有BUG好啊...还有,别急着用苹果...这活动没用苹果没池子里的礼装也能轻松毕业...&
给石头还是给苹果
刚才刷101都懵逼了,好气,这次没一个十连问题解决不了
吼啊,石头啊!我都花了一个苹果了
我一个苹果
我也是一管体力用完后发现不对劲
+1坐等补偿
撸了一罐疲劳就去看贴吧,还好没碎石
我还以为这任务得完成10次,也就是刷100个,然后一直刷,天真的我
这是运营小哥想办法给我们送石头呀!大家要懂得b站的良苦用心
而且都不一致
竟然没海豹晒卡不可思议
一样浪费体力
发家致富了啊
我也是,行了,5个苹果
有补偿好啊话说我的吃了一个苹果才发现出了bug
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或Golang里面使用protobuf(proto3)
时间: 01:38:59
&&&& 阅读:174
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:/protocol-buffers/docs/gotutorial
1.proto3文档:/protocol-buffers/docs/proto3go api文档:https://godoc./golang/protobuf/proto
2.一个简单的proto文件,addressbook.proto,这个例子有如c语言的helloworld/google/protobuf/blob/master/examples/addressbook.proto本文用的这个例子
3.执行指令:go get -/golang/protobuf/protoc-gen-go会下载protoc-gen-go.exe到$GOPATH/bin下,把它拷贝到$PATH,它只是一个插件,还不是真正的编译器
4.下载protoc,地址/google/protobuf/releases,里面可以找到win/linux/mac的二进制文件,我们需要protoc-3.1.0-win32.zip,把里面的protoc.exe(其它文件不需要)拷贝到PATH下面
5.生成c++和golang的代码protoc --go_out
addressbook.protoprotoc --cpp_out
addressbook.protoprotoc --csharp_out
addressbook.protoprotoc --java_out
addressbook.protoprotoc --js_out
addressbook.protoprotoc --objc_out
addressbook.protoprotoc --ruby_out
addressbook.proto
6.测试代码上传到github了(test pass):/wjx0912/GoLangUtils/tree/master/project_protobuf3标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:/wjx0912/p/5929952.html
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!2007人阅读
Protobuf对于Golang通过插件进行支持,因些需要安装protoc的执行环境,下面我们来一步步看下,如何搭建一个编译环境。
1. 安装protoc
2. 下载并安装protobuf-go插件
从github上下载插件,并解压(/golang/protobuf),得到以下的目录
drwxr-xr-x 6 root root 4096 Jun 16 15:45 .
drwxr-xr-x 3 root root 4096 Jun 16 15:48 ..
-rw-r--r-- 1 root root
173 Jun 15 06:31 AUTHORS
-rw-r--r-- 1 root root
170 Jun 15 06:31 CONTRIBUTORS
drwxr-xr-x 3 root root 4096 Jun 15 06:31 jsonpb
-rw-r--r-- 1 root root 1583 Jun 15 06:31 LICENSE
-rw-r--r-- 1 root root 2080 Jun 15 06:31 Makefile
-rw-r--r-- 1 root root 1955 Jun 15 06:31 Make.protobuf
drwxr-xr-x 4 root root 4096 Jun 15 06:31 proto
drwxr-xr-x 7 root root 4096 Jun 16 15:42 protoc-gen-go
drwxr-xr-x 8 root root 4096 Jun 15 06:31 ptypes
-rw-r--r-- 1 root root 7149 Jun 15 06:31 README.md
这时,执行make install,多半是不会成功的,一般会报找不到对应的文件,原因在于go源文件中指定的目录位置是这样的
&io/ioutil&
&/golang/protobuf/proto&
&/golang/protobuf/protoc-gen-go/generator&
因此,要求我们把当面下载的文件放到$GOROOT对应的目录下,并且把目录名改成指定的名称,比如我的GOROOT=/usr/local/go,那我就把解压后的目录改名为protobuf,并在/usr/local/go下创建/usr/local/go//golang/目录,把protobuf目录整体mv过去,再执行make install,执行结果如下:
[root@SH-todo- /usr/local/go//golang/protobuf]# make install
go install ./proto ./jsonpb ./ptypes
go install ./protoc-gen-go
说明执行成功了。
3. 用法举例
下面我们来说明如何把*.proto文件生成*.go文件,同时在程序中序列及反序列化
a) 创建一个test.proto文件
enum FOO { X = 17; };
message Test {
required string label = 1;
optional int32 type = 2 [default=77];
repeated int64 reps = 3;
optional group OptionalGroup = 4 {
required string RequiredField = 5;
执行protoc --go_out=. test.proto,得到test.pb.go
测试代码如下:
package main
&/golang/protobuf/proto&
// test.pb.go 的路径
func main() {
// 创建一个消息 Test
test := &example.Test{
// 使用辅助函数设置域的值
Label: proto.String(&hello&),
proto.Int32(17),
Optionalgroup: &example.Test_OptionalGroup{
RequiredField: proto.String(&good bye&),
fmt.Printf(&Label:%s Type:%d\n&, test.GetLabel(), test.GetType())
*(test.Label) = &hello go&
*(test.Type) = 18
// 进行编码
data, err := proto.Marshal(test)
if err != nil {
log.Fatal(&marshaling error: &, err)
fmt.Printf(&Binary Len:%d\n&, len(data))
// 进行解码
newTest := &example.Test{}
err = proto.Unmarshal(data, newTest)
if err != nil {
log.Fatal(&unmarshaling error: &, err)
fmt.Printf(&Label:%s Type:%d\n&, test.GetLabel(), test.GetType())
// 测试结果
if test.GetLabel() != newTest.GetLabel() {
log.Fatalf(&data mismatch %q != %q&, test.GetLabel(), newTest.GetLabel())
执行结果如下:
Label:hello Type:17
Binary Len:24
Label:hello go Type:18
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:198217次
积分:2912
积分:2912
排名:第10266名
原创:80篇
转载:66篇
评论:27条
(1)(2)(1)(1)(3)(6)(2)(1)(5)(2)(2)(1)(1)(1)(1)(2)(2)(2)(3)(1)(9)(5)(13)(5)(4)(4)(7)(31)(4)(5)(3)(2)(3)(11)}

我要回帖

更多关于 protobuf bug 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信