文章目錄
- 問題來自
- 完整搭建流程
-
- 關鍵點——Windows 8.1 SDK
- 關鍵點——作業系統中Windows 10 SDK 和 Windows 8.1 SDK都安裝了,注意不要沖突
- 擴充參考
問題來自
先裝了VS2019(勾選了2015生成工具),然後裝了Qt5.14.2(勾選了msvc2015版Qt)
使用QtCreator的msvc2015套件建構時,報錯LNK1158: 無法運作“rc.exe”
完整搭建流程
安裝Visual Studio時,裝上MSVC v140 - VS 2015 C++ 生成工具(v14.00),裡面有VS2015 C++編譯器和庫
安裝msvc2015_64的Qt,設定好編譯套件中的編譯器(一般會自動查找到合适的編譯器)
關鍵點——Windows 8.1 SDK
Windows SDK有兩個要用到的重要工具:調試工具(cdb.exe)和資源編譯工具(rc.exe)
與VS 2015 C++ 生成工具配套的這兩個工具在Windows 8.1 SDK中(不是Windows 10 SDK)
安裝Visual Studio 2019時,已經不提供選擇Windows 8.1 SDK了,隻有Windows 10 SDK,老版本SDK去官網下載下傳安裝:
https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
控制台修改Windows SDK,可以安裝debug工具
關鍵點——作業系統中Windows 10 SDK 和 Windows 8.1 SDK都安裝了,注意不要沖突
如果系統隻安裝了一個版本的SDK,那麼可以直接設定PATH C:\Program Files (x86)\Windows Kits\8.1\bin\x64 或者 C:\Program Files (x86)\Windows Kits\10\bin\x64 解決找到不到rc.exe的問題
兩個版本并存時,檢查系統環境變量,如果都設了PATH,寫在後面的PATH是不會被用到的,QtCreator直接找到前面的路徑下rc.exe用,如果不比對就報錯結束了
此時可行的操作是:PATH隻留新版本的(或新版本的寫前面),把8.1的rc.exe和rcdll.dll拷貝到D:\Qt\Qt5.14.2\5.14.2\msvc2015_64\bin,讓Qt優先使用目前目錄下的rc.exe
環境搭建完成
擴充參考
rc.exe工具是什麼,參考連結器link.exe 編譯器cl.exe 資源編譯器rc.exe