Ⅰ VC環境編譯通了但運行不出結果是什麼情況
編譯只是檢查你的詞法和語法,是不可能檢查出邏輯錯誤的。可能程序在編寫的時候出現了邏輯錯誤,或者內存空間沒有注意到。
Ⅱ 為什麼vc++可以編譯不能運行
是這樣,你在新建VC++工程的時候,其中有一項是選擇將MFC庫作為共享的DLL還是靜態的DLL。
因為MFC程序在運行時需要一些DLL文件的支持,你從集成開發環境下編譯運行時,有默認的路徑來調用這些所需的DLL,因此運行不會有問題。而當你單獨運行文件夾下的可執行程序時,如果一開始選擇的是作為共享的DLL,則就會因為可執行程序的當前路徑下沒有所需的DLL文件而無法運行。
解決方法:
一種是打包程序,生成程序的安裝包,就像商業軟體一樣。
另一種就是採用作為靜態的DLL方式,即將程序要用到的庫集成到生成的exe程序中。這樣程序會稍稍大一點點,相當於一個綠色軟體。你可以點擊工程菜單下設置菜單項,常規選項卡,選擇作為靜態的DLL,重建工程就可以了。
Ⅲ 用QtCreator 創建的工程用vc能打開嗎
可以,打開QT的命令行工具,CD到工程所有目錄(有.PRO的那個目錄),然後qmake -tp vc,就會生成一個.vcproj,用VS打開就行了. 也可以,在Visual Studio中裝個Qt Visual Studio Integration插件後後直接導入.PRO文件也可~`` 答題不容易,大家互相幫助,望採納,謝謝!
Ⅳ Qt 編譯好的 可執行文件 不能運行是怎麼回事
缺少動態鏈接庫,你的qt是動態編譯的,根據提示上你qt的安裝目錄上考到你的exe文件夾里
Ⅳ vs2010編譯QT4.8.6,designer.exe、assistant.exe無法運行
認真核對操作步驟:
1、修改環境變數工具推薦:Rapid Environment Editor。
修改前請先備份當前的環境變數。然後:
(1)檢查系統變數path,刪除有關mingw其他版本等信息,以免與後續的mingw32-make沖突。
(2)檢查用戶變數INCLUDE、LIB、PATH、MSDevDir和MSVCDir,刪除有關\Microsoft Visual Studio\VC98的信息,因為它們會與後續的mingw32-make沖突,導致編譯出錯。
2、在電腦上安裝mingw編譯器,假設路徑安裝在C:\Qt\mingw32。將C:\Qt\mingw32\bin添加進環境變數path,打開DOS命令行輸入gcc --version和g++ --version和mingw32-make --version驗證編譯器安裝成功。我用的MinGW版本是V4.8.2,
3、解壓qt-everywhere-opensource-src-4.8.6.zip並進入目錄。例如:D:\qt-everywhere-opensource-src-4.8.6\
4、依次執行以下DOS命令:
(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples
常見的使用選項說明:
-debug-and-release 編譯debug和release版
-opensource 選擇開源協議並確認
-platform win32-g++ 使用mingw編譯
-prefix "D:\Qt4.8.6" 指定編譯結果目錄,如果未指定則默認當前
-shared 創建和使用共享Qt庫
-static 創建和使用靜態Qt庫
-nomake demos -nomake examples 不編譯常式
-nomake tests 不編譯tests
-skip qtwebkit 忽略qtwebkit,因為編譯它特別消耗時間
-mp 使用多核優化編譯
(2)mingw32-make
(3)mingw32-make install
5、編譯完成後,把C:\Qt\mingw32\bin\路徑下的三個文件libgcc_s_dw2-1.dll、libstdc++-6.dll和libwinpthread-1.dll拷貝到D:\qt-everywhere-opensource-src-4.8.6\bin\。另外,也請把步驟1備份的環境變數還原。
6、修改Qt安裝路徑
最初編譯時選擇的路徑是D:\Qt4.8.6\。如果想將它復制到其他盤符,並且改名,例如:C:\Qt\4.8.6_MinGW。這樣一來會有問題嗎?是的,會有問題,因為Qt有絕對路徑依賴症。改名後C:\Qt\4.8.6_MinGW\bin\的exe執行程序都會出問題,要麼程序打不開,要麼多國語言發生異常。用記事本打開C:\Qt\4.8.6_MinGW\bin\qmake.exe,查找關鍵字「qt_prfxpath」,可以看到裡面含有原始的安裝路徑。我們不可以手動去修改qmake.exe,真正有效的解決方法是:
在C:\Qt\4.8.6_MinGW\bin\路徑下創建一個qt.conf文件,內容為
[paths]
Prefix = C:/Qt/4.8.6_MinGW
請注意:qt.conf文件必須是ANSI格式,並且Prefix的斜杠風格採取的是Linux的,而非Windows,否則會失效。或者使用"Prefix = .. ",如此一來,任意路徑有效。
Ⅵ QT和VC會有沖突嗎
我個人更喜歡使用vs+qt插件來寫qt程序,遠遠比qt creator ide效率高的多。qt本身就是c++實現的,不會和vc沖突。
如果出現錯誤不是沖突而是優先順序的問題。他們本來是完全獨立的。你在vs2008選項里可以看到,有一個選擇工作路徑的選項,裡面把很多頭文件,庫文件,源文件的路徑添加了進去,這些次序也是很重要的。所以如果所需要的名字一樣,但針對的文件不同的話,可能就會出錯。
我也使用vs來編寫單片機的程序,比如51單片機常用的keil編譯器。可以把keil編譯器中include,lib文件夾路徑都添加到vs2008的工作路徑中去,那麼在vs2008寫單片機程序就可以實現自動完成了。但是keil中也存在標准庫,vc本身也有標准庫,這頭文件是一樣的,但顯然他們的實現方式完全不同。你自己編寫一個c++程序,如果默認調用了這個頭文件,在編譯的時候,vs會在指定的目錄中找,會先找目前考前的,如果你把keil庫的路徑放在vc庫的前面,那麼肯定就會鏈接錯誤,造成編譯失敗。
Ⅶ 為什麼VC6.0編譯通過了卻不能運行
推薦你在VC下使用執行(Ctrl+F5)來運行它。
如果你想找到那個exe手動運行的話:
1、在main()最後一行加上system("pause");重新編譯。
2、包含頭文件conio.h,然後在main()返回前最後一行加入getch();重新編譯。
3、啟動cmd,用cd命令進入到Debug目錄,輸入那exe文件的名字回車執行,這樣exe執行完後cmd不會自動關閉,exe留下的東西就留在屏幕上了。
Ⅷ 為什麼我的qt編譯程序時不報錯也不運行
首先確定的環境有搭建好!然後確定你編譯的程序不是arm的給
開發板
用的,而是X86平台的!最後就是你的系統有問題了!
Ⅸ 用vc可以編譯但不能運行
你的代碼用到了外部的
lib
庫文件,也需要添加進去。
現以添加socket需要的wsock32.lib
庫文件為例,說明添加方法。
VS2005,在下面路徑中,
項目-->
屬性-->
鏈接器-->
輸入
-->附加依賴項
加上
wsock32.lib。
你看一下你的代碼中用到了哪一個庫文件,按照上面的方法加上即可。
Ⅹ vs不能編譯qt
1. 下載qt的安裝包和vs2011的qt插件,大家可以到下面的地址進行下載
BBS:
官網:
本人是在BBS上找到的,官網上沒仔細去找了(英文太多)。
2. 安裝qt sdk
安裝其實很簡單了,基本上一路回車即可,主要是要注意下qt的安裝路徑最好安裝在全英文路徑而且中間沒有空格, 安裝好後,可以運行開始菜單裡面的qt demo,直觀感受下qt的強大功能!
界面非常炫酷
4. 編譯qt
qt默認使用mingw進行編譯,如果要使用vs2011開發,需要將qt重新編譯。
進
入開始菜單microsoft visual studio 2011,visual studio tools,visual studio
command prompt (2011),需要注意的是,這裡面必須是使用visual studio command prompt
(2011),不能使用cmd的dos窗口
進入qt的安裝目錄後,執行cd qt,進入qt的根目錄
運行命令 configure -platform win32-msvc2011,o(選擇opensource模式)回車,y(同意license)回車
k1988插入:
在編譯過程中,為了加快速度,可以對configure適當的加些參數,比如-fast,-no-webkit(這個貌似挺耗時的)
我
選擇的命令行:configure -platform win32-msvc2011 -fast -debug-and-release
-no-webkit -no-script -no-qt3support -nomake demos -nomake examples
-nomake tools -mp
其中:mp是多線程編譯選項。
接著就會自動配置qt的編譯環境,等配置結束後,運行nmake,回車,qt就會開始漫長的編譯過程,這段時間非常長,需要4個小時以上。
liuyu遇到的問題:(自己遇到過,當時沒記錄下來,但是記得編譯過程中遇到這些問題)
1.DefaultLocalizationStrategy.cpp
C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/INCLUDE/yvals.h(21) : war
ning C4005: 『_HAS_TR1』 : macro redefinition
command-line arguments : see previous definition of 『_HAS_TR1』
platform/DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant
platform/DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected en
d of file in macro expansion
NMAKE : fatal error U1077: 『「C:/Program Files (x86)/Microsoft Visual Studio 10.0
/VC/BIN/cl.EXE」』 : return code 『0x2』
Stop.
NMAKE : fatal error U1077: 『「C:/Program Files (x86)/Microsoft Visual Studio 10.0
/VC/BIN/nmake.exe」』 : return code 『0x2』
Stop.
NMAKE : fatal error U1077: 『cd』 : return code 『0x2』
Stop.
NMAKE : fatal error U1077: 『cd』 : return code 『0x2』
Stop.
解決辦法:
打開文件…/Qt4.8.5/src/3rdparty/webkit/Source/WebCore
/platform/DefaultLocalizationStrategy.cpp
找到327行刪除的引號「」
2.NMAKE:fatal error U1077. return code 0x2
產生原因:找不到代碼文件中包含的頭文件
解決辦法:cmd下進入到vs安裝路徑/VC/Bin下,執行vcvars32,此時會執行vcvas32.bat自動為vs設置環境變數 (這個也試過好幾回,沒效果,依然出現上面錯誤)試試下面的就解決了:
經分析,是環境變數設置的CURR_DIR和TARGETDIR值中含有空格導致了此問題。
通過下面的命令刪除環境變數即可。
在d:/Qt/4.8.6目錄下鍵入下面的命令即可(不是很明白)
接著繼續nmake命令 回車換行
k1988插入:(本人未找到以下文件)
請先刪除
src/3rdparty/webkit/webcore/tmp/moc/debug_shared/mocinclude.tmp
src/3rdparty/webkit/webcore/tmp/moc/release_shared/mocinclude.tmp
/src/script/tmp/moc/debug_shared/mocinclude.tmp
/src/script/tmp/moc/release_shared/mocinclude.tmp
等文件,否則編譯有可能失敗。
k1988插入:
這一步很重要,關繫到是否能用qt-vs-addin。
把d:/qt/bin下的.qmake.cache和configure.cache這兩個文件手動備份到另一個地方。
(本人未嘗試過)然後使用nmake clean進行清理掉那些中間文件(pdb,obj等文件),清理出4個g左右的空間。
nmake confclean是清理配製文件,占的空間不大,可以不執行了。這個時候再把剛備份的.qmake.cache和configure.cache拷回原處。
5.配置vs2011的qt開發環境(vs2011最好是英文版本,qt對vs2011中文版本可能支持的不好)
等qt編譯好後就可以配置vs2011的開發環境了,進入vs2011,選擇qt菜單,qt option,進入下圖界面
k1988插入:
按
步驟編譯好了,用qt助手paths加進去,不知為何ok鍵不亮, 紅字提示:qt in the given path built using
mingw 這個是qt插件的bug,得手工改注冊表 hkey_current_user/software/trolltech/versions/
下增加一個子項 qt486(需要的名稱) 子項下面增加一個數值 installdir,值就是你要配置的qt路徑
ps:如果沒有versions這個文件夾就新建一個吧!
(這里確實是個坑,僅僅修改注冊表居然沒有用,還要去qt的lib文件夾下刪掉兩個文件 –>>刪除qt的lib目錄下(我的路徑是D:/Qt/4.8.6/lib)的libqtmain.a and libqtmaind.a 兩個文件。)
點擊add,添加qt的安裝目錄,並取名字,我這里使用qt的4.8.6版本為名稱,選擇ok後即可。
6.新建或者導入qt項目
可以通過在vs2011新建一個qt項目