日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

visual studio 2017 和qt 编译 bitcon源代码

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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源代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。