VS2017+QT5.12環境配置與動態鏈接庫的生成


最近需要重新編譯一個DLL動態鏈接庫,由於源碼中包含了QT代碼,所以現在需要配置VS+QT環境。

本人系統環境:Win10 64位

一、安裝

Visual Studio 2017軟件下載安裝教程:https://mp.weixin.qq.com/s/oOAxsbAEBigxvp356yINQQ

QT5.12下載路徑:http://download.qt.io/archive/qt/

注意:QT5.12里面的mingw是64位的,不再是32位的了。為了使VS也可以加載QT,在安裝QT時除了安裝MinGW 64bit,還需要安裝 MSVC 64bit。

具體安裝方法可以參考這位博主的教程,蠻詳細的:https://blog.csdn.net/gaojixu/article/details/82185694

二、一些補充說明

1.如果只是在MSVC版的QT里面進行開發,就需要在Qt Creater進行一些額外設置,如下:

選擇Qt Creater中的工具->選項,在選中 Kits 中的 構建套件(Kit) 選項,將 調試器 的安裝路徑配置好,如下圖所示:(這是我已經配置好的)

 一般來說,只要安裝完VS2017,在Qt的構建套件選項里,相關的編譯器、調試器就會自動識別。

如果調試器沒有(就是cdb.exe這個文件沒有),可能是在安裝VS2017時沒有勾選win10 SDK啥的,這里可以去官網下載,參考地址:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools

進入網址,點擊如下位置:

再點擊下載安裝程序 ,然后下載安裝即可

2.如果要在VS里面進行QT開發,需要注意下面一些問題:

(1)在用VS關聯QT生成一個動態鏈接庫后,在python里面導入會出現如下報錯—— OSError: [WinError 127]找不到指定的程序:

或者命令行運行,報如下錯誤——:無法定位程序輸入點***於動態鏈接庫***上

原因:每個人的原因不同,但是絕對是因為生成的DLL有問題,導致python無法加載dll。

我這里之所以出現這種報錯是因為我自己把QT的系統變量路徑搞錯了,導致生成的Dll有問題。因為我系統里面裝了mingw版QT和msvc版QT,默認設置了mingw版QT的路徑在前,所以出現了這個問題。有問題的QT路徑順序設置如下:

正常msvc的路徑應該放在mingw之前,這樣才能保證系統第一時間可以找到匹配的msvc下的QT,如下所示:

 (2)使用VS關聯QT生成動態鏈接庫的操作過程如下:

打開VS2017,標題欄會出現 Qt VS Tools,然后選擇 文件 - 新建 - 項目 ,在Visual C++欄會出現測試選項,接着選擇 Qt Class Library選項

點擊 Next,然后選擇需要用到的QT模塊

接着點擊 Next,進入如下界面,注意為了生成dll,這里千萬不能勾選 .lib 選項,否則只會生成靜態鏈接庫

點擊 Finish ,項目創建完成

(3)不關聯QT,直接使用VS生成動態鏈接庫的操作過程可以參考:

https://blog.csdn.net/lunar_queen/article/details/82872157

https://blog.csdn.net/weixin_38285131/article/details/81288338#commentsedit

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM