C++ 使用MinGW在Windows上构建protobuf
我一直在遵循Peter回答中的步骤,但是C++ 使用MinGW在Windows上构建protobuf,c++,mingw,protocol-buffers,C++,Mingw,Protocol Buffers,我一直在遵循Peter回答中的步骤,但是make没有完成,并且出现错误 我在Win64上,安装了MinGW开发者工具包、mingw32 base、MinGW-gcc-g++、msys base以及另外的mingw32-phtreads-w32 在MinGW/msys/1.0下,我创建文件夹/home/,并粘贴从下载的protobuf-3.1.0源代码 我打开一个MSYS外壳,cd进入protobuf目录并运行/autoconfig:日志是 现在,我不喜欢日志中的第一件事是: configure
make
没有完成,并且出现错误
我在Win64上,安装了MinGW开发者工具包、mingw32 base、MinGW-gcc-g++、
msys base
以及另外的mingw32-phtreads-w32
在MinGW/msys/1.0
下,我创建文件夹/home/
,并粘贴从下载的protobuf-3.1.0
源代码
我打开一个MSYS外壳,cd
进入protobuf目录并运行/autoconfig
:日志是
现在,我不喜欢日志中的第一件事是:
configure:16556: checking for the pthreads library -lpthreads
configure:16589: gcc -o conftest.exe conftest.c -lpthreads -lz >&5
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lpthreads
为什么在我安装了pthreads之后,它找不到它
然后,我继续执行make
并获取protoc.exe已停止工作
,并显示以下崩溃信息:
Problem signature:
Problem Event Name: APPCRASH
Application Name: protoc.exe
Application Version: 0.0.0.0
Application Timestamp: 580a23df
Fault Module Name: libprotobuf-11.dll
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 580a225f
Exception Code: c0000005
Exception Offset: 001171cd
OS Version: 6.1.7601.2.1.0.256.4
Locale ID: 2057
Additional Information 1: 4c0d
Additional Information 2: 4c0d4d78887f76d971d5d00f1f20a433
Additional Information 3: 4c0d
Additional Information 4: 4c0d4d78887f76d971d5d00f1f20a433
壳的末端是
make[2]: *** [unittest_proto_middleman] Error 5
make[2]: Leaving directory `/home/ok1011/protobuf-3.1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ok1011/protobuf-3.1.0'
make: *** [all] Error 2
在这里你可以找到制造商和制造商。我不是唯一一个这样的人
你知道问题出在哪里,怎么解决吗 您需要默认使用pthreads库附带的64位版本的MinGW。或者你需要一个旧的pthread端口来安装MinGW,以防你必须使用32位版本。你的环境不合适,我想…用MinGW安装合适的
MSYS
你能不用测试就编译它吗?I小更新:我用MinGW64安装了它,使用cmake指令而不是*nix stylemake
,但MinGW 64无法在我的另一台电脑上安装。因此我尝试在另一台电脑上安装MSYS2…但设置所有依赖项是一件痛苦的事情。所以,我放弃了我在Windows上的努力,我在linux上使用虚拟机。到目前为止,一切正常。