2013-09-30 2 views
0

Netbeans 7.3.1을 MingW와 함께 설치했습니다. 나는 여러 C/C++ 터미널 애플리케이션을 이렇게 만들었으므로 작동하는 것으로 확신한다. QT로 어려움을 겪고 있습니다. 내 Qt 응용 프로그램 (기본 main.cpp)을 컴파일 할 수없는 것 같습니다.Netbeans 7.3.1 Qt 4.8.5 - 컴파일 할 수 없음

Windows 32 비트 (VS 2010, 505 MB) 및 Windows 용 Qt Creator 2.8.1 (정보)에서 Qt 5.1.1을 여기에서 http://qt-project.org/downloads으로 설치했습니다.

netbeans에서 새로운 C++ -> qt 응용 프로그램을 만들었습니다. 프로젝트 속성에서 나는 qt를 포함하는 C++ 컴파일러와 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 인 하위 프로젝트 = .clean-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 디버그/MinGW-Windows/moc_HelloWorld.o rm 빌드/디버그/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- 파이프 -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_MMEXEX -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/'-I'를 포함합니다 ../../../../ Qt/4.8.5/include '-I'../../../../ Qt/4.8.5/include/ActiveQt '-I'. ' -나는'.' - 나는 '~ 나'프로젝트를 진행하지 않을거야. ' -I '../../../../ Qt/4.8.5/mkspecs/win32-g ++'-o 빌드/디버그/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_M3X -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 '../../../../ Qt/4.8.5/mkspecs/win32-g ++'-o 빌드/디버그/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_MMEXEX -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 '../../../../ Qt/4.8.5/mkspecs/win32-g ++'-D_ GNUC _ -DWIN32 ../QtApplication_1/HelloWorld.h -o moc_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 '../../../../ Qt/4.8.5/mkspecs/win32-g ++'-o 빌드/디버그/MinGW-Windows/moc_HelloWorld.o moc_HelloWorld.cpp windres -i QtApplication_1_resource.rc -o 빌드/디버그/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 g ++ -mthreads -Wl, -subsystem, 창 -o DIST/디버그 /는 MinGW - 윈도우/QtApplication_1.exe 구축/디버그/MinGW-Windows/HelloWorld.o 빌드/디버그/MinGW-Windows/main.o 빌드/디버그/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 -lQtOpenGLd4 -lQtScript4 -lQtScriptTools4 -lQtScriptToolsd4 -ltxtScriptd4 -lQtSql4 -lQtSqld4 -lQtSvg4 -lQtSvgd4 -lQtTest4 -lqtTestd4 -lQtWebKit4 -lQtWebKitd4 -lQtXml4 -lQtXmlPatterns4 -lQtXmlPatternsd4 -lQtXmld4 -lphonon4 -lphonond4 -lQtGuid4 -l QtCored4 경고 : .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) :(. 텍스트 [? realloc @ ? $ QVector @ PAD @@ AAEXHH @ Z] + 0x240) : 정의되지 않은 참조 [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] 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 디렉토리를 남겨 두십시오. [2] : * [dist/Debug/MinGW-Windows/QtApplication_1.exe] ": * [.build-impl] 오류 2

BUILD FAILED (종료 값 2, 총 시간 : 5 초)

또한 C : \ Qt \ 4.8.5 경로를 환경 변수에 추가하고 워크 스테이션을 여러 번 다시 시작했습니다. 아직도 운이 없다.

내 워크 스테이션은 창문

답변

1

1. 당신은 MSVC 2010 Qt를 설치 7 64 비트 서비스 팩을 실행하지만, 컴파일러로는 MinGW을 사용하고 있습니다. 그것은 작동하지 않습니다. MingW와 MSVC의 C++ ABI는 호환되지 않으므로 혼합 할 수 없습니다. 따라서 함께 링크 된 모든 C++ 라이브러리 (및 주요 실행 파일)는 동일한 컴파일러/컴파일러 제품군으로 빌드해야합니다. (이것은 C 라이브러리에 영향을주지 않습니다). MingW 용 MSVC 또는 Qt를 설치해야합니다.

+0

최종 사용 된 Microsoft Visual Studio 2010에서이 자습서를 사용했습니다. [link here] http://stackoverflow.com/questions/5601950/how-to-build-qt-for-visual-studio-2010 ~ Qt를 설정하십시오. 나는이 플래그를 사용했다 : 단지 -release 대신 -debug-and-release. 그것은 그것을 거의했다. 내가 부스트와 함께 작동하도록하는 몇 가지 문제가 있었지만 그것은 결국 효과. – jmreader

관련 문제