是否存在Codegear C+的协议缓冲区绑定+;建筑商2007? 从几年前我读到这个帖子后,有人曾经用CODEGONE C++ +Builder 2007 获得协议缓冲区。
上述protobuf Builder 2007版本的作者将其上传至第三方URL,但其链接似乎早已失效,根据讨论和Protobuff 2.5.0的当前状态判断,修复/更改从未从protobuf中分叉或合并到主干中 更新:是否存在Codegear C+的协议缓冲区绑定+;建筑商2007? 从几年前我读到这个帖子后,有人曾经用CODEGONE C++ +Builder 2007 获得协议缓冲区。,c++,protocol-buffers,c++builder,c++builder-2007,C++,Protocol Buffers,C++builder,C++builder 2007,上述protobuf Builder 2007版本的作者将其上传至第三方URL,但其链接似乎早已失效,根据讨论和Protobuff 2.5.0的当前状态判断,修复/更改从未从protobuf中分叉或合并到主干中 更新: 当使用来自.ExpE.EXE(2.5.0)的代码生成示例文件时,C++ Builder 2007抱怨了大量的问题,包括谷歌中的名字:“重复条目::内部命名空间”(例如,google::internal::kEmptyString——它还抱怨基于std::hash的容器,memse
当使用来自.ExpE.EXE(2.5.0)的代码生成示例文件时,C++ Builder 2007抱怨了大量的问题,包括谷歌中的名字:“重复条目::内部命名空间”(例如,
google::internal::kEmptyString
——它还抱怨基于std::hash
的容器,memset
是一个无法识别的符号。我花了几天时间才找到一个解决方案,但我是如何在Codegear 2007中实现它的:
获取C++ Builder版本的ToBuff---这是基于2.4.1,所以它有点过时了,但是我想可以将C++ Builder更改合并到2.5.0(或者不管最新版本是什么)C++的Builder版本的BuildFF是为Builder 2009编写的,但是它修复了各种问题:<>代码> STD::Hash < /C> >,所以它比谷歌的发布更好。
/src/google/protobuf
文件夹中复制以下.cc
文件,并将其更改为.cpp
扩展名。似乎.cbproj
格式有问题,它不喜欢.cc
(您需要将所有这些文件添加到Codegear 2007.cbproj中-这些是libprotobuf-lite所需的文件)
google::internal
。(注意——这既适用于libprotobuf-lite,也适用于用于生成代码的字符串)选项Optimize\u for=LITE\u RUNTIME
。注意-打开此选项时,反射功能不可用--cpp_out
在.proto文件上运行protoc.exe
。输出文件将具有.cc
扩展名-您需要将其重命名为.cpp
(注意-仍有一些警告未得到解决-一个是抱怨函数地址有多余的
&
,另一些是抱怨有符号/无符号比较-但至少它构建并似乎起作用了)实际问题是什么你有吗?你提供了这么长的描述,但没有真正的细节。@RemyLebeau我终于解决了这个问题,很抱歉原始帖子中没有细节。更新了OP并添加了我的解决方案作为答案,以防将来对其他人有用。
extension_set.cpp
generated_message_util.cpp
message_lite.cpp
repeated_field.cpp
wire_format_lite.cpp
stubs\common.cpp
stubs\once.cpp
io\coded_stream.cpp
io\zero_copy_stream.cpp
io\zero_copy_stream_impl_lite.cpp