mingw编译protobuf和openssl

本文详细记录了解决使用mingw和msys安装protobuf-2.4.1和openssl-1.0.1c时遇到的CPU不支持x86-64指令集错误的方法,包括安装步骤、错误排查及最终的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作:

安装mingw,和msys,下载protobuf-2.4.1和openssl-1.0.1c;


启动msys.bat,进入sh;

cd /protobuf/

> ./Configure

> make

没有出错,一切ok;


cd /openssl/

> ./config

> make

提示错误:

CPU you selected does not support x86-64 instruction set


./ config --help 查看帮助,尝试

./ config 386 问题依旧

最后直接修改Makefile,将-march=i486修改为-march=x86-64,编译

> make

搞定。

### 使用 MinGW Makefile 编译 Protobuf #### 配置环境变量 为了确保命令行工具能够找到所需的编译其他依赖项,需先配置系统的环境变量。对于 Qt 自带的 MinGW 版本,应将 `D:\Qt\Qt5.9.7\Tools\mingw530_32\bin` 添加到 PATH 中[^4]。 #### 下载并解压 Protobuf 源码包 从官方 GitHub 仓库下载最新版本的 Protobuf 压缩包,并将其解压缩至工作目录下。 #### 安装依赖项 在 Windows 上使用 MinGW 构建 Protobuf 库之前,建议预先安装一些必要的开发工具库,比如 automake、libtool 等。可以通过 MSYS2 或者其他方式获取这些依赖项。 #### 进入源代码根目录执行如下指令来构建项目: ```bash $ ./autogen.sh $ ./configure --prefix=/path/to/install CC="gcc" CXX="g++" $ make -j$(nproc) $ make install ``` 上述命令序列完成了自动脚本生成、配置过程设置目标架构与路径、多线程编译以及最终安装操作。注意替换 `/path/to/install` 成实际希望放置编译产物的位置。 #### 解决常见问题的方法 - **找不到 protoc-gen-cpp 插件** 如果遇到此错误提示,则可能是由于未正确指定插件位置所致。可以尝试通过显式提供完整路径的方式来调用该程序。 - **链接失败** 当静态链接时出现问题,可能是因为缺少某些运行时支持文件或者是 LDFLAGS 参数不正确引起的。确认已按照说明文档中的指导完成所有前置条件后再重试一次完整的清理重建流程。 - **无法识别 `-std=c++11` 标志** 这通常发生在较老版本的 GCC/G++ 上面;更新至更高版本或将标准选项调整为更早的标准形式(如 c++0x),可有效规避此类兼容性难题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值