在win编译 protobuf 一些 坎 (vs编译多线程的设置多线程调试(/MTd) )

1, windows编译protobuf库(用Visual Studio编译)

①第一步:下载cmake、Visual Studio;

cmake:https://cmake.org/download/ 下载 cmake-3.9.0-rc3-win64-x64.msi

         vs 2015
②第二步:从github官网克隆protobuf源码;
③第三步:打开cmake可视化界面,填写内容如下图,然后分别执行Configure和Generate(相当于cmake);

设置protobuf的路径

④第四步:点击Open Project,编译INSTALL工程,即可在C:\protobuf 找到生成的protoc.exe和lib静态库文件,搞定。

注意:如果想要将生成的静态库最为Qt Creator的依赖项,需选择Generator:Visual Studio 15 2017 Win64,然后打开工程编译INSTALL时选择Debug模式,Win64的编译方式。测试过,这样生成的静态库才可以在Qt中使用。


二, 在vs 遇到 编译器的问题 解决多线程

error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”

后来查了下,是运行库设置的问题; 几个工程的 运行库设置不一样了:

项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库

都设置一样就行了 多线程调试(/MTd)

原因:

引用的是静态库,调试的是动态库MDd,也改成MTd即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值