发布版本会导致简单的protobuf代码失败

时间:2013-07-07 11:43:30

标签: c++ release protocol-buffers

我有以下单元测试代码,它基本上通过序列化和反序列化来复制对象:

FloatMat mat2;                                  
assert(mat2.ParseFromString(mat.SerializeAsString()));      

cout << mat.vec_size() << "\n";                             
cout << mat2.vec_size() << "\n";                            

使用cmake调试模式构建时,它按预期方式提供:

2
2

但是当使用cmake release模式构建时,它会给出:

2
0

我对在发布模式下构建不太熟悉,请帮忙!谢谢!

1 个答案:

答案 0 :(得分:7)

由于您在mat2宏中填充assert(仅在调试版本中进行评估)