安装Google Protobuf需要进行编译吗?

8

我想确认一下:如果你想使用Google Protocol Buffers,我可以为您找到编译器的二进制文件,但似乎我还需要编译其余的源文件。这是真的吗?我有一个MinGW C编译器,这样可以吗?有人有make文件吗?

1个回答

13
通常需要使用编译器将protobuf“schema”编译为包装器,以便在代码中使用。因此,这不是真正的制作/构建过程。请提供有关如何使用proto文件的更多详细信息 - 即您的项目使用哪种语言。

更新:看起来您没有安装python-protobuf,或Python找不到它。

要么使用以下方式进行安装:

apt-get install python-protobuf # for Ubuntu
yum install python-protobuf # for Fedora/Redhat
或者
easy_install protobuf

或者按照这里所述的方式从源代码安装: http://code.google.com/p/protobuf/issues/detail?id=235


我的编程语言是Python。我将使用protobufs将数据封装成消息,对它们进行序列化、反序列化,并在另一端再次将其转换为消息,并使用其中包含的数据对象。我已经创建了一个proto文件,但是当我将生成的*-pb2.py文件导入到我想要使用它的源文件中时,我会收到错误消息“ImportError: no module named google.protobuf”。我提出这个问题的原因是readme.txt文件中说明:“您仍需要下载源代码包以获取Java或Python运行时库。” - Django
我已经更新了答案 - 请检查python-protobuf库的安装。 - Tisho
2
easy_install 可在 Windows 下使用。也可以从源代码安装:“python setup.py install”。 - Tisho
好的,它可以工作了。我不知道为什么,但是这是我所做的:1. 下载并解压缩包到c:\protobuf-2.4.1 2. 运行ez_setup.py 3. 运行setup.py install 4. 然后我用setup.py test测试了一下,它通过了。我无法运行easy_install(也找不到文件在我的电脑上)。它可以工作了,但我不知道为什么。谢谢大家。 - Django
我可以证明一个类似的方法:$ sudo pip install protobuf 对我有效。 - MarkHu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接