首页 文章

问题使用cmake安装protobuf

提问于
浏览
0

我一直试图安装 imposm.parser ,这让我发疯了 . 经过几天在线,我设法在mac上安装它 .
但是,我一直试图在Windows上安装它,但在此之前,需要安装谷歌的 protobuf . 这根本不容易 . 我设法取得了一些进展,但是现在当我没有任何帮助时,我陷入了困境 .
我关注的说明如下:
CMake Configuration
我一直试着通过cmd,cygwin和VS2015的Developer Command Prompt,没有希望 . 输出如下:

Developer Command Prompt - VS2015

[53%]内置目标精简测试[54%]链接CXX可执行tests.exe LINK:命令“C:\ PROGRA~2 \ MICROS~1.0 \ VC \ bin \ link.exe / nologo @CMakeFiles \ tests.dir \ objects1.rsp /out:tests.exe /implib:tests.lib /pdb:C:\work\protobuf\cmake\build\release\tests.pdb /version:0.0 / machine:X86 / INCREMENTAL:NO / subsystem: console libprotoc.lib libprotobuf.lib gmock_main.lib C:\ Users \ Philip \ Anaconda2 \ Library \ lib \ z.lib gmock.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib / MANIFEST /MANIFESTFILE:tests.exe.manifest“失败(退出代码1120),输出如下:libprotobuf.lib(gzip_stream.cc.obj):错误LNK2019:未解析的外部符号_deflate引用在函数“public:bool __thiscall google :: protobuf :: io :: GzipOutputStream :: Close(void)”(?关闭@GzipOutputStream @ io @ protobuf @ google @@ QAE_NXZ)...... ...... C:\ Users \ Philip \ Anaconda2 \ Library \ lib \ z.lib:警告LNK4272:库机器类型'x64'与目标机器冲突ine类型“X86”tests.exe:致命错误LNK1120:6个未解析的外部NMAKE:致命错误U1077:'C:\ Users \ Philip \ Anaconda2 \ Lib \ site-packages \ cmake \ data \ bin \ cmake.exe':return代码'0xffffffff'停止 . NMAKE:致命错误U1077:'“C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ BIN \ nmake.exe”':返回代码'0x2'停止 . NMAKE:致命错误U1077:'“C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ BIN \ nmake.exe”':返回代码'0x2'停止 .

我的问题是:如何解决这个问题?并且,有没有更简单的方法在Windows上安装 protobufimposm.parser

1 回答

  • 1

    _deflate 听起来像某个压缩库中的函数 . 实际上,它被用在一个名为 GzipOutputStream 的类中 . 你是否使用protobuf的所有依赖项的链接标志?

    还存在机器类型不匹配 . 也许您正在尝试将32位库链接到64位可执行文件 .

相关问题