淺析Qt與VC.NET集成
Qt與VC.NET連接的基本配置環境,在Window XP下, Qt與VC.NET連接的基本配置條件如下:
(1) D:\qt-4.3.2\vsvars32.bat 每次重新(啟動或更改)就的使用它來配置環境
(2) D:\qt-4.3.2\bin\nmake /? 程序維護實用工具 7.10.3077 版
(3) 查看Qt版本:
- D:\qt-4.3.2\bin>qmake -v
- QMake version 2.01a
- Using Qt version 4.3.2 in D:/qt-4.3.2/lib
(4)查看和VC那個版本連接的:
- D:\qt-4.3.2\bin>echo %qmakespec%
- win32-msvc.net
(5)編譯:
進如程序根目錄, D:\qt-4.3.2\vc
用qmake創建一個工程文件
- qmake -project -o hello.pro (文件名hello.cpp)
在你的工程目錄下出現了一個hello.pro,用來生成makefile
用qmake創建Makefile,在命令行直接運行qmake
輸入: qmake
編輯你的程序: nmake
運行你的程序: debug\hello //查看程序所需要的動態庫:項目根目錄 dumpbin /imports “應用程序路徑”
- D:\qt-4.3.2\vc> dumpbin /imports "D:\qt-4.3.2\vc\release\main.exe"
注意:***把應用程序所需的動態鏈接庫放到%SYSTEM32%目錄下,
如:QtGui4.dll 、QtCore4.dll、MSVCR71.dll、KERNEL32.dll
(6) fatal error C1083: 無法打開包含文件:“QApplication”: No such file or directory
解決方法: 項目\屬性\C/C++下:
1.常規->附加包含目錄:
- D:\qt-4.3.2\bin\include\QtGui (關鍵)
- D:\qt-4.3.2\bin\include
- D:\qt-4.3.2\bin\include\QtCore
- D:\qt-4.3.2\.moc\debug-shared
- D:\qt-4.3.2\mkspecs\win32-msvc.net
- D:\qt-4.3.2\bin\include\ActiveQt //未加
項目-屬性 - C/C++ -常規- 檢測64位可移植性問題:改為否
2.預處理器->預處理器定義:
- _WINDOWS;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_EDITION=QT_EDITION_DESKTOP;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_TH
- READ_SUPPORT
3.預編譯頭
選擇:不使用預編譯頭
#p#
4.連接器
(1)常規->附加庫目錄
- D:\qt-4.3.2\bin\lib
(2)輸入->附加依賴項
- D:\qt-4.3.2\bin\lib\qtmaind.lib
- D:\qt-4.3.2\bin\lib\QtGuid4.lib
- D:\qt-4.3.2\bin\lib\QtCored4.lib
在“工具”\項目\選項\ 項目(左邊的)\VC++目錄\ 添加如下:
- D:\qt-4.3.2\bin(Qt根目錄下的bin)
- D:\qt-4.3.2\include
- D:\qt-4.3.2\lib
- D:\qt-4.3.2\src\winmain
- D:\qt-4.3.2\include\Qt
- D:\qt-4.3.2\include\QtGui
- D:\qt-4.3.2\src\gui\kernel
5、 切記--一定要保存! 不然下次還的重新配置! 在工具欄有全部保存按鈕!或者在 "文件"菜單下,選擇全部保存! 是全部!
首先創建加載環境的批處理命令,在c:\qt.3.0\bin下創建QtVars.bat文件,內容為(這是仿照4.2.2的商業二進制安裝版寫的,可以根據自己需要調整)
- @echo off
- echo Setting up a Qt environment...
- echo -- QTDIR set to C:\Qt\ 4.3.0
- echo -- Added C:\Qt\ 4.3.0\bin to PATH
- echo -- QMAKESPCE set to win32-msvc2005
- set QTDIR=C:\Qt\ 4.3.0
- set PATH=C:\Qt\ 4.3.0\bin;%PATH%
- set QMAKESPEC=WIN32-MSVC2005
- if not "%1"=="vsvars" goto END
- call "D:\program files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"
- :END
- if not "%1"=="vsstart" goto ENDSTARTVS
- call "D:\program files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"
- devenv /useenv
- :ENDSTARTVS
6. 創建快捷方式。開始菜單中創建一個叫“Qt by Trolltech v4.3.0 (VS2005)”的文件夾,把下面列的這幾個快捷方式放進去。
- Assistant —— C:\Qt\ 4.3.0\bin\assistant.exe
- Designer —— C:\Qt\ 4.3.0\bin\designer.exe
- Examples and Demos —— C:\Qt\ 4.3.0\bin\qtdemo.exe
- Linguist —— C:\Qt\ 4.3.0\bin\linguist.exe
- Qt 4.3.0 Command Prompt —— %COMSPEC% /k "C:\Qt\ 4.3.0\bin\qtvars.bat vsvars"
- Qt Readme —— C:\WINDOWS\notepad.exe C:\Qt\ 4.3.0\bin\..\README
- Visual Studio with Qt 4.3.0 —— C:\Qt\ 4.3.0\bin\qtvars.bat vsstart
打開console窗口,并設置VC的環境變量,然后運行如下的配置命令:
- configure -debug-and-release -no-stl -no-sql-sqlite -qt-libjpeg -qt-gif -platform win32-msvc2005
成功后就可以通過運行nmake來完成源代碼的完全編譯了。上面的命令行中,根據你的要求可以自行調整,一般而言為了成功編譯必須要包含的命令。
選項是-debug-and-release和-platform win32-msvc2005兩個,其他可以選擇。打開console窗口,并設置VC的環境變量,然后運行如下的配置命令:
- configure -debug-and-release -no-stl -no-sql-sqlite -qt-libjpeg -qt-gif -platform win32-msvc2005
成功后就可以通過運行nmake來完成源代碼的完全編譯了。上面的命令行中,根據你的要求可以自行調整,一般而言為了成功編譯必須要包含的命令,選項是-debug-and-release和-platform win32-msvc2005兩個,其他可以選擇。
*** 然后用vc2005打開工程,進行編譯
【編輯推薦】