1、QT Tools for Visual Studio2019下載地址(其他的版本也有): https://marketplace.visualstudio.com/items?itemName=TheQtCompany.QtVisualStudioTools2019;需要在vs的插件管理里指定QT5的安裝目錄才能使用該模板。
2、添加庫頭引用:OSGEO4W/include,QGIS/include;
3、添加宏指令:
CORE_EXPORT=__declspec(dllimport)
GUI_EXPORT=__declspec(dllimport)
PYTHON_EXPORT=__declspec(dllimport)
ANALYSIS_EXPORT=__declspec(dllimport)
APP_EXPORT=__declspec(dllimport)
CUSTOMWIDGETS_EXPORT=__declspec(dllimport)
4、添加庫lib目錄和lib文件:
OSGEO4W/lib,QGIS/lib
這里要特別注意,在vs下,會默認添加debug版的qt lib文件 (有d后綴),如果發現,一定要替換為release(無d后綴)版的。
qgis_core.lib
qgis_gui.lib
qgis_analysis.lib
qtcore.lib
qtgui.lib
qtxml.lib
qtmain.lib
5、C/C++->代碼生成->運行庫 選擇多線程dll/MD(解決報錯:error LNK2038 RuntimeLibrary)
多線程調試Dll (/MDd) 對應的是MD_DynamicDebug
多線程Dll (/MD) 對應的是MD_DynamicRelease
多線程(/MT) 對應的是MD_StaticRelease
多線程(/MTd)對應的是MD_StaticDebug
6、系統環境變量添加OSGEO4W/bin、QGIS/bin、QT5/bin路徑
7、編譯生成完exe,運行前需通過Qt5的windeployqt.exe工具自動拷貝動態鏈接庫文件,該工具QT安裝目錄下自帶
用vs自帶開發人員命令行工具執行 D:\OSGeo4W64\apps\Qt5\bin\windeployqt.exe C:\Users\zhoufy300\source\repos\QgsHelloWorld\x64\Debug\QgsHelloWorld.exe