jom編譯器
❶ 誰了解QT編程工具啊,麻煩比較一下。
我先來拋磚引玉吧
1)內嵌VC開發的話,可以使用visual studio的各種C++功能,文本編輯/自動補全/調試等等和普通的C++開發差不多,gui界面會調用designer插件,這個vc/eclipse/kdevelop/qt creator都一樣。相對來說比較方便。但是因為visual studio不支持並行編譯(至少vs.net2008還不支持),因此編譯較慢。如果是寫了makefile,或者利用qt生成vc格式的makefile,那麼qt.gitoris.org上有一個項目叫jom,和nmake基本兼容,但是支持並行編譯,這個只能在命令行裡面用
2)eclipse,給我的感覺怎麼說呢,就不像是給C/C++程序員使用的IDE,它其實也就是用qt插件創建gui,在編譯過程中插入moc/uic/rcc處理。編譯速度要看是在windows下還是linux下,如果是wndows,eclipse使用的是mingw工具鏈,因此編譯速度很慢。linux下用的是gcc工具鏈,因此速度較快
3)kdevelop分為3.x版本的和4.x版本的,3.x版本的比較成熟,但是有些功能不太容易使用,比如一個很簡單的添加已存在的文件到項目中的操作,用kdevelop就是沒有很直觀的方式。不是很好用
4)qt creator,我覺得比kdevelop和eclipse好用,比visual studio 2008當然還是差一些。比如它的文件的編碼格式(gb2312/iso88159-1/utf-8/big5)之類的設置,有時候似乎沒有生效,我用kate或者gedit打開之後發現qt creator編碼格式轉換沒有起作用。
這些工具在gui編碼和qt特有的功能(信號/槽、屬性、moc/uic/rcc)方面基本相同,都是調用qt designer插件。在編譯速度方面,eclipse(win32) = QTCREATOR(WIN32+MINGW) < vc(nmake或IDE編譯) < VC(JOM) = qtcreator(vc編譯器) < eclipse(linux) = qtcreator(linux) = kdevelop(linux)。在文本編輯/自動補全/跳轉方面,應該說是vc > qt creator > eclipse = kdevelop
❷ 求勁樂團 克羅埃西亞狂想曲 文件.jon .jom
樓主想要哪種版的文件 這首歌有很多種版本 http://www.o2mania.com/search.asp?NewsTitle=%BF%CB%C2%DE%B5%D8%D1%C7%BF%F1%CF%EB%C7%FA&Author=&Submit=%CC%E1%BD%BB 自己從這里下載吧 選我為最佳答案吧
❸ VS里正常的代碼在QT里執行有問題要怎麼弄好QT的
在安裝 QT+MSVC環境的時候,該出的問題我想都讓我碰上了。
問題1 :jom.exe 崩潰,構建不通過。
jom: ......... Error 219:19:11: 進程"E:QT1ToolsQtCreatorinjom.exe"退出,退出代碼 2 。Error while building/deploying project untitled (kit: Desktop Qt 5.5.1 MSVC2015 64bit)When executing step "Make"這個我沒有出現什麼cl不是內部命令的提示,至於使用nmake就更錯了,nmake運行就出問題,估計是安裝時nmake就有問題了。所以不是環境變數之類的錯誤,由於我前期先安裝的QT+MinGW,後來需要MSVC才安裝的vs2015,估計是這個安裝先後順序導致一些配置不對,反正我的kit配置都沒有錯誤提示了也不行,乾脆直接全卸了重新來。這次OK了,msvc,mingw都能用了。後來看到有初始化msvc編譯環境的腳本,如果不行就先使用下試試,沒准就OK了,不用浪費時間重新安裝(安裝時間好長呀)
1
問題2 -1: error: LNK2019: 無法解析的外部符號 **,該符號在函數 ** 中被引用,看圖說話。
無法解析的外部符號說明,該函數的庫或頭文件沒有被引入,比如下面
qmfcapp.obj : error LNK2019: 無法解析的外部符號 __imp_SetWindowsHookExW,該符號在函數 "public: static bool __cdecl QMfcApp::pluginInstance(void *)" (?pluginInstance@QMfcApp@@SA_NPEAX@Z) 中被引用在QT中找到QMfcApp::pluginInstance函數查看了下使用到外部函數的地方SetWindowsHookEx,點擊可以跳轉到頭文件WinUser.h,那就是庫沒有了。由於原來是MinGW,內部的庫都導入了,轉到MSVC後一些自帶的系統庫沒有加進來。網路查找SetWindowsHookEx該函數所需庫User32.lib,在電腦上搜了。然後在.pro工程文件中右鍵加入庫如下
unix|win32: LIBS += -L'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64/' -lUser32INCLUDEPATH += 'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64'DEPENDPATH += 'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64'
把加後綴的勾刪了,我這window下好像沒有專門的d版調試庫。
OK。這時在庫里就自動加上了下面這幾行。1
2
3
4
1
問題3 User32.Lib:-1: warning: LNK4272:庫計算機類型「X86」與目標計算機類型「x64」沖突
剛開始時找錯了庫,找到的是32位編譯出來的user32.lib庫,後來直接到系統盤window下找到了64位的就OK了。問題4 This application has requested the Runtime to terminate it in an unusual way
這個在我安裝了vs2015就出現了這問題,沒裝時都好好的。這個上一篇有講到,這次又遇上了,我真的是無語了,也是莫名其妙的又不報了。具體怎麼弄好的我也摸不著,vs2015又裝了VC++里的所有部分(MFC類,兼容XP什麼的兩個,原本就一個VC++編譯器的),到qt安裝目錄里有個vcredist_msvc2015_x86運行,重啟後也一樣,然後還有什麼,重新拷貝庫?一堆事情,一個個試都不好,換vb,vs,突然之間就好了,可是VB來錯誤53,找不到dll了,vs來載入格式不正常,這個看問題5。但有一點可以肯定—-錯誤與下面的dll無關,這個是depends找不到有關的bug。問題5 試圖載入格式不正確的程序。 (異常來自 HRESULT:0x8007000B)
這里是目標平台和庫不一致,需要注意下,用MinGW編譯的去MinGW版的QT庫里找對應的庫(debug版和release版),然後要注意的是它是32位的,所以vs里只能選擇X86平台。貌似沒有找到有64的MinGW版本的QT.
而MSVC我下的是64的,所以只能選則X64平台。拷貝庫也是到msvc版的QT庫里找。如果庫位數不對,會呈粉紅色。問題6 其他信息: 無法載入 DLL「bstdll.dll」: 找不到指定的程序。 (異常來自 HRESULT:0x8007007F)。
換成X86的拿mingw編譯出來的試出這問題,拿到在VB下就是 實時錯誤53:找不到DLL的意思了。這個估計就是跟安裝了vs2015的問題有關了。安裝了vs2015後VC++估計把我一些32位的庫給弄掉了,怎麼都無法成功了。嘗試下個msvc 32位的編譯看是否一樣。
問題7 error: C2373: 「saveImage」: 重定義;不同的類型修飾符
extern "C" BSTDLLAPI void __stdcall saveImage(const char *file);
同樣的代碼用64的編譯器和MinGW都沒問題,換成32位的msvc就出問題了,
.h文件.cpp文件
void saveImage(const char *file){
dev.savePicture(file);
}平常看到的講解導出dll都沒要求實現里也要加上__stdcall,這里報錯就是這個原因,.cpp里也加個__stdcall就OK了。
1
2
3
1
問題8 其他信息: 無法在 DLL「xxx.dll」中找到名為「xxx」的入口點。
到這一部至少說明,dll可以被找到,目標平台和生成的dll也是一致的,只是入口函數找不到,可能是導出名不對了,depends查看下果然名字被過度修飾了。變成了_function@bytenum形式。
怎麼解決我不知道msvc的編譯器有沒有這個選項,直接改成這個名字算了。問題9 發生了 PInvokeStackImbalance
對PInvoke函數的調用導致堆棧不對稱。先看看是不是調用協議不對,vb是__stdcall,vc++默認用__cdecl,如果一致了還出錯,那可能是long要改成int32,這個嘗試改下就行了。我就是這么解決的。
到此,無論是64還是32位都能用了。坑好多啊。MinGW版不知道為什麼就是錯誤提示找不到dll,裝了個VS2015麻煩這么多。有知道的大神可以解惑下。
有些人說MinGW版編譯的dll不能在window下用是有問題的,反正我不裝VS2015時一切都好好的。如上篇所述,而且也在別人機子上試過。現在沒時間找這個問題了,能用就行了。
❹ 在qt creator上編譯程序不通過
針對 『cl』 不是內部或外部命令.
在windows操作系統環境變數中,對path變數加入 {VS安裝地址}\VC\bin 一值.
❺ 怎麼在Qt creator中加入命令行參數進行編譯程序
直接創建一個QT GUI應用 沒添加任何代碼
編譯輸出如下:
21:34:14: 為項目test1執行構建步驟 ...
21:34:14: 配置沒有改變, 跳過 qmake 步驟.
21:34:14: 正在啟動 "nmake.exe"
{1"?} {2?}
qtcreator_ctrlc_stub: Command line failed: nmake.exe
21:34:14: 進程"nmake.exe"崩潰。
構建項目test1 時發生錯誤 (目標: 桌面)
當執行構建步驟 'Make'時
在構建和運行那裡設置「使用jom代替nmake」後,編譯輸出如下:
。。。。。。。
'cl' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\main.obj] Error 1
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\mainwindow.obj] Error 1
jom 1.0.8 - empower your cores
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile [debug] Error 2
21:37:32: 進程"E:\QT_new_start\QtCreator\bin\jom.exe"退出,退出代碼 2 。
構建項目test1 時發生錯誤 (目標: 桌面)
當執行構建步驟 'Make'時執行qmake沒問題
❻ qt配置visual c++compiler 10
需要設置環境變數path,將cl文件的目錄加到環境變數path後面。
❼ 麻煩想問下,我用qt寫了波形程序,已編譯過啦~但現在想要隨即波形動態的用Qtimer,加了幾行代碼,在編譯
我先來拋磚引玉吧
1)內嵌VC開發的話,可以使用visual studio的各種C++功能,文本編輯/自動補全/調試等等和普通的C++開發差不多,gui界面會調用designer插件,這個vc/eclipse/kdevelop/qt creator都一樣。相對來說比較方便。但是因為visual studio不支持並行編譯(至少vs.net2008還不支持),因此編譯較慢。如果是寫了makefile,或者利用qt生成vc格式的makefile,那麼qt.gitoris.org上有一個項目叫jom,和nmake基本兼容,但是支持並行編譯,這個只能在命令行裡面用
2)eclipse,給我的感覺怎麼說呢,就不像是給C/C++程序員使用的IDE,它其實也就是用qt插件創建gui,在編譯過程中插入moc/uic/rcc處理。編譯速度要看是在windows下還是linux下,如果是wndows,eclipse使用的是mingw工具鏈,因此編譯速度很慢。linux下用的是gcc工具鏈,因此速度較快
3)kdevelop分為3.x版本的和4.x版本的,3.x版本的比較成熟,但是有些功能不太容易使用,比如一個很簡單的添加已存在的文件到項目中的操作,用kdevelop就是沒有很直觀的方式。不是很好用
4)qt creator,我覺得比kdevelop和eclipse好用,比visual studio 2008當然還是差一些。比如它的文件的編碼格式(gb2312/iso88159-1/utf-8/big5)之類的設置,有時候似乎沒有生效,我用kate或者gedit打開之後發現qt creator編碼格式轉換沒有起作用。
這些工具在gui編碼和qt特有的功能(信號/槽、屬性、moc/uic/rcc)方面基本相同,都是調用qt designer插件。在編譯速度方面,eclipse(win32) = QTCREATOR(WIN32+MINGW) < vc(nmake或IDE編譯) < VC(JOM) = qtcreator(vc編譯器) < eclipse(linux) = qtcreator(linux) = kdevelop(linux)。在文本編輯/自動補全/跳轉方面,應該說是vc > qt creator > eclipse = kdevelop
另外,團IDC網上有許多產品團購,便宜有口碑