visual studio 2017 和qt 编译 bitcon源代码
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源代码相关推荐
- Win10 下Visual Studio 2017源码编译Paddle
Win10 下Visual Studio 2017源码编译Paddle 1.准备工作 Visual Studio 2017 Python 3.8.10 CMake 3.22.0-rc2 熟悉官方文档: ...
- Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试
由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...
- Visual Studio 2017环境cmake编译opencv 4.3.0+opencv_contrib 4.3.0(保证成功,保姆级教学,呕心沥血)
前言:为什么要装opencv_contrib opencv3的版本之后只包含基本内容,众多著名的检测算子(如SIFT.SURF和ORB等内容)因为版权问题转移到了一个名为xfeature2d的第三方库 ...
- 【visual studio 2017】基本使用过程,新手教学
文章目录 1 软件安装 2 解决方案 3 编译(生成) 4 执行(调试) 5 视图 6 工具 7 查找与替换 8 debug release 9 dll动态文件库调用 10 软件使用常用技巧 1 软件 ...
- 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 ...
- Visual Studio 2017 编译Firefox63.0
1.平台 Win10 64bit Visual studio 2017 update8 至少4G RAM,建议8G,当然越多越好.40G硬盘空间. 2.源码 firefox-63.0.source.t ...
- Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符
Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符 问题描述: Visual Studio 2017在编译OpenCV 4.2.0时出现编译器 ...
- Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符
Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符 问题描述: Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单 ...
- (Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法
(Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法 参考文章: (1)(Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法 (2) ...
最新文章
- js 实现精确加减乘除运算之BigDecimal.js
- 部署 H3C CAS E0306
- 纯干货-多场景下大屏可视化应用(文中含可视化源代码链接)
- cpu工作原理flash动画_cpu的基本结构及其工作原理
- STM32外设驱动---SysTick精准延时
- 我的世界1.13的服务器网站,我的世界1.13纯净版
- 显著性目标检测matlab代码_显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)...
- 当MVP与阿里云一起踏上西行远征——阿里云MVP“戈壁之路”徒步记行
- (转)Math.Round() -- c# 与 java的区别
- 深度学习(10):自然语言处理(转)
- java线程内存溢出_Java常见问题分析(内存溢出、内存泄露、线程阻塞等)
- python分布式开发容易吗_Python能实现分布式的进程吗?
- Consider defining a bean of type ‘com.bsj.system.service.RedisService‘ in your configuration.
- 【相机标定系列】0415 图像缩放之后相机内参变化,调整图像大小如何影响固有相机矩阵?
- Beta周王者荣耀交流协会第五次Scrum会议
- 解决旧笔记本电脑的ME固件的驱动安装程序不支持WIN10安装的方法
- JavaScript 小数转分数
- highchart 组织结构图
- 计算与推断思维 七、函数和表格
- 【数据结构复习】二叉树的遍历——从微软2014校园招聘说起
热门文章
- vue使用element日期选择器,选择日期少一天的问题
- “adb”不是内部或外部命令,也不是可运行的程序或批处理文件(Win)与(Mac)——终极解决方案
- The import java.util cannot be resolved
- 小米5 android 4.1.2,小米1刷机包 V5稳定版V1.2 流畅纯净 精简省电 默认开启未知来源 Android4.1.2...
- 逻辑差学计算机,数学差的人不配学计算机?布朗大学教授告诉你一毛钱关系都没有!...
- easyui datagrid 多表头数据错位_表格数据检索(二)
- flyway java使用,如何使用flyway创建数据库?
- 工程打包是什么意思_承包工程是什么意思
- 四种可能导致数据中心瘫痪的网络攻击
- 运维工程师必备技能:网络排错