visual studio 2017

qt 5.7.1(别人已经编译好的静态库,为什么用别人编译好的,自己编译老是编译错误,?)

1. 安装vcpkg。将应用程序内的lib编译成功。设置编译选项为MTD哦。

用vcpkg安装这些:

libevent:x64-windows-static

openssl:x64-windows-static

zeromq:x64-windows-static

berkeleydb:x64-windows-static

secp256k1:x64-windows-static

leveldb:x64-windows-static

有个地方需要注意,在项目的vcproj文件中加入这个属性:vs编译的时候就会自动寻找vcpkg安装的目录:
 <VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
    <VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>

再也不用自己手动去指定include目录,lib目录,和输入lib文件了。

2. 编译bcd,bc-cli项目。

3.  编译带qt界面的bitcoin-qt。

这里主要是安装vs qt 插件和加入qt库的链接。

a. 安装vs qt 插件,记得一定要启动哦,别弄成禁用(在vs的扩展更新里面安装)

b. 下载别人已经编译好的qt库

https://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/

选Qt5 v5.7.1 (MSVC2015)。

c. 下载完后选择static静态库。我的是x64位的。然后为什么动态库不行呢,因为咱们的项目都是MTD的链接方式,而这里面static静态库是MTD编译出来的。

d. 在vs里面指定静态库的路径,库的输入里面默认是这几个:

qtmain.lib Qt5Core.lib Qt5Gui.lib Qt5Widgets.lib

e. 发现有编译错误。将宏注释掉即可:QT_INIT_METAOBJECT , QT_WARNING_PUSH ,QT_WARNING_DISABLE_DEPRECATED

f. 发现Qt5Core.lib链接错误,因为还缺少别的qt库,不着急,再加上

Qt5PlatformSupportd.lib
qminimald.lib
qoffscreend.lib
qwindowsd.lib
qtfreetyped.lib
qtharfbuzzngd.lib
qtpcred.lib

OK。 bitcoin-qt终于出来了。

对了:有个链接问题得说明一下:

. int __cdecl qInitResources_bitcoin_locale(void)" (?qInitResources_bitcoin_locale@@YAHXZ),该符号在函数 "int __cdecl GuiMain(

. int __cdecl qInitResources_bitcoin(void)" (?qInitResources_bitcoin@@YAHXZ),该符号在函数 "int __cdecl GuiMain(int,char * * const)

这是因为bitcoin.cpp里面的两行代码:

Q_INIT_RESOURCE(bitcoin);
    Q_INIT_RESOURCE(bitcoin_locale);

qt把资源文件写到代码中,函数qInitResources_bitcoin和qInitResources_bitcoin_locale的实现就是根据bitcoin.qrc

和bitcoin_locale.qrc生成出来的,所以需要把这两个文件加入到项目中。(这两个文件是qt编辑的),而后vs会生成qrc_bitcoin.cpp和qrc_bitcoin_locale.cpp。这里面就有上面两个函数的实现了。

对了,需要在项目中加入moc文件的路径哦,不然vs找不到。

这个链接也可供参考:https://blog.csdn.net/qq_16149777/article/details/78744074

总结:把静态库、动态库搞清楚哦,另外vs的设置,inlcude路径、lib路径这些搞清楚。

另外提个事“如何判断.lib是静态库还是导入库”?

答:VS 路径C:\Program Files\Microsoft Visual Studio 10.0\VC\bin” 自带的一个工具 - lib.exe: 运行 lib /list hello.lib
如果输出: hello.obj,则是静态库
如果输出: hello.dll,则是动态库的导入库。

另外我要把MD,MTD搞清楚,别稀里糊涂的。

visual studio 2017 和qt 编译 bitcon源代码相关推荐

  1. Win10 下Visual Studio 2017源码编译Paddle

    Win10 下Visual Studio 2017源码编译Paddle 1.准备工作 Visual Studio 2017 Python 3.8.10 CMake 3.22.0-rc2 熟悉官方文档: ...

  2. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  3. Visual Studio 2017环境cmake编译opencv 4.3.0+opencv_contrib 4.3.0(保证成功,保姆级教学,呕心沥血)

    前言:为什么要装opencv_contrib opencv3的版本之后只包含基本内容,众多著名的检测算子(如SIFT.SURF和ORB等内容)因为版权问题转移到了一个名为xfeature2d的第三方库 ...

  4. 【visual studio 2017】基本使用过程,新手教学

    文章目录 1 软件安装 2 解决方案 3 编译(生成) 4 执行(调试) 5 视图 6 工具 7 查找与替换 8 debug release 9 dll动态文件库调用 10 软件使用常用技巧 1 软件 ...

  5. vs2015编译linux源码,使用Visual Studio 2017(VS2017)编译OpenCC 1.0.4 (Open Chinese Convert)源代码...

    摘要:本文介绍了Win7 64位环境下OpenCC(Open Chinese Convert) 1.0.4源码编译全过程,除VS2017外,VS2013以上版本也应该基本同样适用,其他版本的Windo ...

  6. Visual Studio 2017 编译Firefox63.0

    1.平台 Win10 64bit Visual studio 2017 update8 至少4G RAM,建议8G,当然越多越好.40G硬盘空间. 2.源码 firefox-63.0.source.t ...

  7. Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符

    Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符 问题描述: Visual Studio 2017在编译OpenCV 4.2.0时出现编译器 ...

  8. Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符

    Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符 问题描述: Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单 ...

  9. (Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法

    (Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法 参考文章: (1)(Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法 (2) ...

最新文章

  1. js 实现精确加减乘除运算之BigDecimal.js
  2. 部署 H3C CAS E0306
  3. 纯干货-多场景下大屏可视化应用(文中含可视化源代码链接)
  4. cpu工作原理flash动画_cpu的基本结构及其工作原理
  5. STM32外设驱动---SysTick精准延时
  6. 我的世界1.13的服务器网站,我的世界1.13纯净版
  7. 显著性目标检测matlab代码_显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)...
  8. 当MVP与阿里云一起踏上西行远征——阿里云MVP“戈壁之路”徒步记行
  9. (转)Math.Round() -- c# 与 java的区别
  10. 深度学习(10):自然语言处理(转)
  11. java线程内存溢出_Java常见问题分析(内存溢出、内存泄露、线程阻塞等)
  12. python分布式开发容易吗_Python能实现分布式的进程吗?
  13. Consider defining a bean of type ‘com.bsj.system.service.RedisService‘ in your configuration.
  14. 【相机标定系列】0415 图像缩放之后相机内参变化,调整图像大小如何影响固有相机矩阵?
  15. Beta周王者荣耀交流协会第五次Scrum会议
  16. 解决旧笔记本电脑的ME固件的驱动安装程序不支持WIN10安装的方法
  17. JavaScript 小数转分数
  18. highchart 组织结构图
  19. 计算与推断思维 七、函数和表格
  20. 【数据结构复习】二叉树的遍历——从微软2014校园招聘说起

热门文章

  1. vue使用element日期选择器,选择日期少一天的问题
  2. “adb”不是内部或外部命令,也不是可运行的程序或批处理文件(Win)与(Mac)——终极解决方案
  3. The import java.util cannot be resolved
  4. 小米5 android 4.1.2,小米1刷机包 V5稳定版V1.2 流畅纯净 精简省电 默认开启未知来源 Android4.1.2...
  5. 逻辑差学计算机,数学差的人不配学计算机?布朗大学教授告诉你一毛钱关系都没有!...
  6. easyui datagrid 多表头数据错位_表格数据检索(二)
  7. flyway java使用,如何使用flyway创建数据库?
  8. 工程打包是什么意思_承包工程是什么意思
  9. 四种可能导致数据中心瘫痪的网络攻击
  10. 运维工程师必备技能:网络排错