【问题标题】:Release build causes simple protobuf code to fail发布构建导致简单的 protobuf 代码失败
【发布时间】:2013-07-07 11:43:29
【问题描述】:

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

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

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

当使用 cmake 调试模式构建时,它会按预期给出:

2
2

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

2
0

我对发布模式的构建不是很熟悉,请帮助!谢谢!

【问题讨论】:

  • 确定你在构建发布时也重新生成并重建了你的protobuf代码?

标签: c++ release protocol-buffers


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-02-07
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    相关资源
    最近更新 更多