【问题标题】:Building and using Google Protocol Buffers构建和使用 Google 协议缓冲区
【发布时间】:2012-01-20 14:23:16
【问题描述】:

我目前正在做一个项目,我正在尝试实现 Protocol Buffers 以作为序列化格式在本地计算机上存储数据,然后稍后再读回。协议缓冲区的一些功能似乎非常适合这个项目,所以我很想对其进行测试,但我遇到了一些问题。

不过,到目前为止,我什至还没有足够远来测试协议缓冲区。我将最新的 zip 文件(2.4.1 版)下载到我的 Windows 机器上。我通读了位于文件夹根目录中的 install.txt,但它适用于基于 Unix 的系统。然后我看到它带有一个 vsprojects 文件夹,并阅读了那里列出的说明。基本上,我被告知要做的就是打开一个解决方案,然后在 Debug 或 Release 中构建整个解决方案。我立即收到几个关于“config.h”未找到的错误。

我再次检查了 Unix 指令,第一步是......

  1. cd' to the directory containing the package's source code and type './configure' to configure the package for your system. If you're usingcsh' 在旧版本的 System V 上,您可能需要输入 sh ./configure' instead to preventcsh' 试图执行 `configure' 本身。

运行“配置”需要一段时间。运行时,它会打印一些 消息告诉它正在检查哪些功能。

所以我启动了我很少使用的 ubuntu,并尝试按照这些说明进行操作。上面列出的步骤很顺利,我什至可以进入下一步并“制作”项目,但是当需要使用“制作安装”时,我收到了以下错误:

ross@ubuntu:~/Desktop/protobuf-2.4.1$ make install
Making install in .
make[1]: Entering directory `/home/ross/Desktop/protobuf-2.4.1'
make[2]: Entering directory `/home/ross/Desktop/protobuf-2.4.1'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/lib/pkgconfig" || /bin/mkdir -p "/usr/local/lib/pkgconfig"
/bin/mkdir: cannot create directory `/usr/local/lib/pkgconfig': Permission denied
make[2]: *** [install-pkgconfigDATA] Error 1
make[2]: Leaving directory `/home/ross/Desktop/protobuf-2.4.1'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/ross/Desktop/protobuf-2.4.1'

make: * [安装递归] 错误 1

我主要使用windows进行开发,而我现在正在使用的整个项目都是在windows中制作的,所以我有点担心。有没有人在 Windows 或 linux 中构建协议缓冲区有任何运气?

谢谢

【问题讨论】:

    标签: windows visual-studio-2010 unix makefile protocol-buffers


    【解决方案1】:

    当您尝试在系统范围内安装 make install 时,您不能以自己的用户身份执行此操作。 如果您有 sudo 权限,请使用 sudo make install,或者以任何其他可能的方式成为 root,然后运行它。

    如果您没有管理员权限,您可以运行./configure --prefix=$HOME/protobuffers,编译并再次运行make install,它会将它们安装在您的主目录中名为protobuffers 的子目录中。请注意,之后您可能希望在配置文件中调整 LD_LIBRARY_PATH 以便能够找到库。如果您只需要protoc,那应该可以解决问题。

    --- 编辑---

    说到这里,protoc 也适用于 windows,你也可以在那里使用它们。 可以here下载。

    【讨论】:

    • 好的,这适用于 linux 方面。不要以为您对 Windows 有任何有用的建议吗?我检查了运行配置的第一步并没有像我希望的那样生成 config.h...
    • @roflha 对不起伙计,没办法,强大的 mac 用户,现在没有方便的 windows vm 来为你构建它。
    • 没问题。我只是让这个坐久一点,看看是否有人知道要为 windows 做什么。感谢您的回答!编辑:像这样的事情导致我为我的下一台计算机切换到 mac...
    • @Roflha 啊,等等。目录 vsprojects 已预先生成 config.h。将它放在 protobuf 的根文件夹中,然后尝试再次点击该构建按钮。
    • 这太奇怪了。我试图寻找一个,但它不在我的目录中。重新下载,现在我有了它。立即测试。
    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    相关资源
    最近更新 更多