2011-07-01 12 views
1

私は新しいC++プロジェクトの作業を開始し、最新のバージョンのQtフレームワーク(4.7.3)を使いたいと考えました。私はgcc 4.6 found [here](http://www.equation.com/servlet/equation.cmd?fa=fortran)を使うことにしました。コンパイラは、新しいC++ 0x標準を使用して単純なC++ファイルをコンパイルするようです。コンパイルqt 4.7.3 on mingw with 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でプログラムでのlibsがコンパイルされているからでしょう(未定義のメソッドについて何かをコンパイルすることはできませんgcc 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 
+0

このファイルはmoc_qabstractanimation.cppがtmp \ moc \ debug_sharedに作成されていますか? – antlersoft

+0

いいえ、私は作成されたmocファイルを見たことがあります – creatio

+0

mocディレクトリも作成されていません – creatio

答えて

0

qabstractanimationは宣言にQOBJECTマクロを持っていますか? Moc.exeは、マクロが表示されないため、moc_qabstractanimation.cppファイルを生成していない可能性があります。

+0

はい、私は直接ビルドしていますダウンロードされた4.7.3のソースから、それは含まれています – creatio

関連する問題