2013-09-30 50 views
0

我已經安裝了MingW的Netbeans 7.3.1。我已經建立了幾個C/C++終端應用程序,所以我非常肯定它的工作原理。 我的困難在於QT。我似乎無法讓我的Qt應用程序(默認main.cpp)進行編譯。Netbeans 7.3.1與Qt 4.8.5 - 無法編譯

我從這裏安裝了Qt 5.1.1 for Windows 32位(VS 2010,505 MB)和Qt Creator 2.8.1 for Windows(53 MB)(Info)from http://qt-project.org/downloads

在netbeans中,我創建了一個新的C++ - > qt應用程序。在項目屬性上,我將C++編譯器指向qt包括root和qt庫的鏈接器。當我試圖清理並生成默認的main.cpp: 的#include

int main(int argc, char *argv[]) { 
    // initialize resources, if needed 
    // Q_INIT_RESOURCE(resfile); 

    QApplication app(argc, argv); 

    return app.exec(); 
} 

這是我得到的。不完全確定這個錯誤的含義:

「/C/msys/1.0/bin/make.exe」-f nbproject/Makefile-Debug.mk QMAKE =/C/Qt/4.8.5/bin/qmake。 exe文件子項目=清潔機殼-conf的 的make.exe [1]:進入目錄/c/Users/Jones/Desktop/QtApplication_1' /C/Qt/4.8.5/bin/qmake.exe VPATH=. -spec win32-g++ -o qttmp-Debug.mk nbproject/qt-Debug.pro mv -f qttmp-Debug.mk nbproject/qt-Debug.mk /C/msys/1.0/bin/make.exe -f nbproject/qt-Debug.mk distclean make.exe[2]: Entering directory/C /用戶/瓊斯/桌面/ QtApplication_1' RM moc_HelloWorld.cpp RM ui_HelloWorld.h RM構建/調試/ MinGW的-視窗/的HelloWorld .o build/Debug/MinGW-Windows/main.o build/Debug/MinGW-Windows/moc_HelloWorld.o rm build/Debug/MinGW-Windows/QtApplication_1_resource_res.o rm dist/Debug/MinGW-Windows/QtApplication_1.exe rm:無法刪除dist/Debug/MinGW-Windows/QtApplication_1.exe': No such file or directory make.exe[2]: [distclean] Error 1 (ignored) rm: cannot remove qttmp-Debug.mk':沒有這樣的文件或目錄 make.exe [2] :[distclean命令]錯誤1(忽略) RM qttmp-Debug.mk 的make.exe [2]:離開目錄/c/Users/Jones/Desktop/QtApplication_1' make.exe[1]: Leaving directory/C /用戶/瓊斯/桌面/ QtApplication_1'

CLEAN成功(總時間:663ms) 「/C/msys/1.0/bin/make.exe」-f nbproject/Makefile-Debug.mk QMAKE =/C/Qt/4.8.5/bin/qmake.exe SUBPROJECTS = .build-conf make.exe [1]:進入目錄/c/Users/Jones/Desktop/QtApplication_1' /C/Qt/4.8.5/bin/qmake.exe VPATH=. -spec win32-g++ -o qttmp-Debug.mk nbproject/qt-Debug.pro mv -f qttmp-Debug.mk nbproject/qt-Debug.mk "/C/msys/1.0/bin/make.exe" -f nbproject/qt-Debug.mk dist/Debug/MinGW-Windows/QtApplication_1.exe make.exe[2]: Entering directory/c/Users/Jones/Desktop/QtApplication_1' c:/Qt/4.8.5/bin/uic.exe ../QtApplication_1/HelloWorld.ui -o ui_HelloWorld.h g ++ -c -pipe -g -frtti -fexceptions -mthreads -Wall -Wextra -DUNICODE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'../../../../ Qt/4.8.5/include/QtCore'-I'../../../。 ./Qt/4.8.5/include/QtGui'-I'../../../../ Qt/4.8.5/include'-I'../../../../ Qt/4.8.5/include'-I'../../../../ Qt/4.8.5/include/ActiveQt'-I'。' -一世'。' -I'nbproject'-I'。' -I'../../../../ Qt/4.8.5/mkspecs/win32-g ++'-o build/Debug/MinGW-Windows/HelloWorld.o ../QtApplication_1/HelloWorld.cpp g ++ -c -pipe -g -frtti -fexceptions -mthreads -Wall -Wextra -DUNICODE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'../../../ ../Qt/4.8.5/include/QtCore'-I'../../../../ Qt/4.8.5/include/QtGui'-I'../../../ ../Qt/4.8.5/include'-I'../../../../ Qt/4.8.5/include'-I'../../../../ Qt /4.8.5/include/ActiveQt'-I'。' -一世'。' -I'nbproject'-I'。' -I'../../../../ Qt/4.8.5/mkspecs/win32-g ++'-o build/Debug/MinGW-Windows/main.o main.cpp C:/Qt/4.8 .5/bin/moc.exe -DUNICODE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'../../../../ Qt/4.8.5/include/QtCore'-I'../../../../ Qt/4.8.5/include/QtGui'-I'../../../../ Qt/4.8.5/include'-I'../../../../ Qt/4.8.5/include'-I'../../../../ Qt/4.8.5/include/ActiveQt ' -一世'。' -一世'。' -I'nbproject'-I'。' -I'../../../../ Qt/4.8.5/mkspecs/win32-g ++'-D_ GNUC _ -DWIN32 ../QtApplication_1/HelloWorld.h -o moc_HelloWorld。CPP 克++ -c -pipe -g -frtti -fexceptions -mthreads -Wall -Wextra -DUNICODE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I」 ../../ ../../Qt/4.8.5/include/QtCore'-I'../../../../ Qt/4.8.5/include/QtGui'-I'../../ ../../Qt/4.8.5/include'-I'../../../../ Qt/4.8.5/include'-I'../../../。 ./Qt/4.8.5/include/ActiveQt'-I'。' -一世'。' -I'nbproject'-I'。' -I '../../../../ QT/4.8.5/mkspecs/Win32的克++' -o建立/調試/ MinGW的-視窗/ moc_HelloWorld.o moc_HelloWorld.cpp windres -i QtApplication_1_resource.rc -o build/Debug/MinGW-Windows/QtApplication_1_resource_res.o --include-dir =。 -DUNICODE -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN 克++ -mthreads -Wl,-subsystem,窗戶-o DIST /調試/ MinGW的-視窗/ QtApplication_1.exe建立/調試/ MinGW-Windows/HelloWorld.o build/Debug/MinGW-Windows/main.o build/Debug/MinGW-Windows/moc_HelloWorld.o -L'c:/Qt/4.8.5/lib'-lmingw32 -lqtmaind build/Debug /MinGW-Windows/QtApplication_1_resource_res.o -lQt3Support4 -lQt3Supportd4 -lQtCLucene4 -lQtCLucened4 -lQtCore4 -lQtCored4 -lQtDeclarative4 -lQtDeclaratived4 -lQtDesigner4 -lQtDesignerComponents4 -lQtDesignerComponentsd4 -lQtDesignerd4 -lQtGui4 -lQtGuid4 -lQtHelp4 -lQtHelpd4 -lQtMultimedia4 -lQtMultimediad4 -lQtNetwork4 -lQtNetworkd4 -lQtOpenGL4 -IQtOpenGLd4 -lQtScript4 -lQtScriptTools4 -lQtScriptToolsd4 -lQtScriptd4 -lQtSql4 -lQtSqld4 -lQtSvg4 -lQtSvgd4 -lQtTest4 -lQtTestd4 -lQtWebKit4 -lQtWebKitd4 -lQtXml4 -lQtXmlPatterns 4 -lQtXmlPatternsd4 -lQtXmld4 -lphonon4 -lphonond4 -lQtGuid4 -lQtCored4 Warning:.drectve /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" /FAILIFMISMATCH:"_MSC_VER=1600" /FAILIFMISMATCH:"_ITERATOR_DEBUG_LEVEL=2" /DEFAULTLIB:"msvcprtd" /DEFAULTLIB:"MSVCRTD" /DEFAULTLIB:"OLDNAMES" ' unrecognized c:/Qt/4.8.5/lib/qtmaind.lib(tmp/obj/debug_shared/qtmain_win.obj):(.text[[email protected][email protected]@@[email protected]]+0x19): undefined reference to __security_cookie' c:/Qt/4.8.5/lib/qtmaind.lib(tmp/obj/debug_shared/qtmain_win.obj):(.text [?realloc @ ?$ QVector @ PAD @@ AAEXHH @ Z] + 0x240):undefined參考[email protected]' c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: c:/Qt/4.8.5/lib/qtmaind.lib(tmp/obj/debug_shared/qtmain_win.obj): bad reloc address 0x240 in section .text [?realloc @?$ QVector @ PAD @@ AAEXHH @ Z]' collect2.exe:錯誤:ld返回1退出狀態 make.exe [2]:* [dist/Debug/MinGW-Windows/QtApplication_1.exe]錯誤1 make.exe [2]:離開目錄/c/Users/Jones/Desktop/QtApplication_1' make.exe[1]: *** [.build-conf] Error 2 make.exe[1]: Leaving directory/c/Users/Jones/Desktop/QtApplication_1' make.exe 「:* [.build-impl]錯誤2

BUILD FAILED(退出值2,總時間:5秒)

我還將路徑C:\ Qt \ 4.8.5添加到環境變量並重新啓動工作站幾次。仍然沒有運氣。

我的工作站運行的是Windows 7 64位Service Pack 1的

回答

1

您對2010年MSVC Qt安裝,但使用的MingW作爲編譯器。這是行不通的。 MingW和MSVC的C++ ABI不兼容,因此不能混用。因此,鏈接在一起的所有C++庫(和主要可執行文件)必須使用相同的編譯器/編譯器系列構建。 (這不影響C庫)。您需要使用MSVC或爲MingW安裝Qt。

+0

在最後使用Microsoft Visual Studio 2010.我使用本教程:[鏈接這裏] http://stackoverflow.com/questions/5601950/how-to-build-qt-for-visual-studio-2010設置Qt。我使用了這個標誌:-debug-and-release,而不僅僅是 - 釋放。這幾乎做到了。我有一些問題讓它與boost一起工作,但最終解決了它。 – jmreader