我決定開始研究一個新的C++項目,並且想要使用最新版本的Qt框架,它是4.7.3。我也決定使用gcc 4.6發現[這裏](http://www.equation.com/servlet/equation.cmd?fa=fortran)。編譯器似乎使用新的C++ 0x標準編譯簡單的C++文件。編譯qt 4.7.3在mingw上用gcc 4.6
我遇到的問題是,我似乎無法使用gcc 4.6在MinGW上編譯Qt 4.7.3。我不斷收到以下錯誤:
cd src\corelib\ && mingw32-make -f Makefile
mingw32-make[1]: Entering directory `D:/__dev/Qt/4.7.3/src/corelib'
mingw32-make -f Makefile.Debug all
mingw32-make[2]: Entering directory `D:/__dev/Qt/4.7.3/src/corelib'
D:\__dev\Qt\4.7.3\bin\moc.exe -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_BUILD_CORE_LIB -DQT_NO_USING_N
AMESPACE -DQT_MAKEDLL -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH
_DEFINES -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_DLL -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -
DQT_HAVE_SSE2 -I"..\..\include" -I"..\..\include\QtCore" -I"tmp\rcc\debug_shared" -I"tmp" -I"global" -I"..\..\tools\shared" -I"..\
3rdparty\zlib" -I"..\3rdparty\harfbuzz\src" -I"..\3rdparty\md5" -I"..\3rdparty\md4" -I"..\..\include\ActiveQt" -I"tmp\moc\debug_sh
ared" -I"..\..\mkspecs\win32-g++" -D__GNUC__ -DWIN32 animation\qabstractanimation.h -o tmp\moc\debug_shared\moc_qabstractanimation
.cpp
g++ -c -include tmp\obj\debug_shared\qt_pch.h -g -Wall -frtti -fexceptions -mthreads -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQ
T_LARGEFILE_SUPPORT -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAS
T_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_DLL -DQT_HA
VE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -I"..\..\include" -I"..\..\include\QtCore" -I"tmp\rcc\debug_s
hared" -I"tmp" -I"global" -I"..\..\tools\shared" -I"..\3rdparty\zlib" -I"..\3rdparty\harfbuzz\src" -I"..\3rdparty\md5" -I"..\3rdpa
rty\md4" -I"..\..\include\ActiveQt" -I"tmp\moc\debug_shared" -I"..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\qabstractanimatio
n.o animation\qabstractanimation.cpp
animation\qabstractanimation.cpp:896:38: fatal error: moc_qabstractanimation.cpp: No such file or directory
compilation terminated.
mingw32-make[2]: *** [tmp/obj/debug_shared/qabstractanimation.o] Error 1
mingw32-make[2]: Leaving directory `D:/__dev/Qt/4.7.3/src/corelib'
mingw32-make[1]: *** [debug-all] Error 2
mingw32-make[1]: Leaving directory `D:/__dev/Qt/4.7.3/src/corelib'
mingw32-make: *** [sub-corelib-make_default-ordered] Error 2
刪除該行也無濟於事,導致它在另一個文件中失敗。現在我有點卡住了,因爲我不知道爲什麼找不到文件。
我刪除源代碼,我不得不和Qt安裝4.7.3的Windows版本,但我不能用一個程序編譯使用GCC 4.6,東西長約未定義的方法(可能是因爲庫編譯與海灣合作委員會4.4,或者我認爲)。所以我決定用gcc 4.6重新編譯它。現在我收到以下錯誤:
g++ -c -include tmp\obj\debug_shared\qt_pch.h -g -Wall -frtti -fexceptions -mthreads -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQ
T_LARGEFILE_SUPPORT -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAS
T_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_DLL -DQT_HA
VE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -I"..\..\include" -I"..\..\include\QtCore" -I"tmp\rcc\debug_s
hared" -I"tmp" -I"global" -I"..\..\tools\shared" -I"..\3rdparty\zlib" -I"..\3rdparty\harfbuzz\src" -I"..\3rdparty\md5" -I"..\3rdpa
rty\md4" -I"..\..\include\ActiveQt" -I"tmp\moc\debug_shared" -I"..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\moc_qnamespace.o
tmp\moc\debug_shared\moc_qnamespace.cpp
tmp\moc\debug_shared\moc_qnamespace.cpp:196:16: error: 'WMouseNoMask' is not a member of 'Qt'
tmp\moc\debug_shared\moc_qnamespace.cpp:197:16: error: 'WDestructiveClose' is not a member of 'Qt'
[the list continues]
tmp\moc\debug_shared\moc_qnamespace.cpp:1022:17: error: 'PaletteLinkVisited' is not a member of 'Qt'
tmp\moc\debug_shared\moc_qnamespace.cpp:1023:17: error: 'X11ParentRelative' is not a member of 'Qt'
make[2]: *** [tmp/obj/debug_shared/moc_qnamespace.o] Error 1
make[2]: Leaving directory `D:/__dev/Qt/4.7.3/src/corelib'
make[1]: *** [debug-all] Error 2
make[1]: Leaving directory `D:/__dev/Qt/4.7.3/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2
這個文件moc_qabstractanimation.cpp是在tmp \ moc \ debug_shared中創建的嗎? – antlersoft
不,我已經看到任何創建的moc文件 – creatio
moc目錄甚至沒有創建 – creatio