用gcc 4.6在mingw上编译qt 4.7.3
compiling qt 4.7.3 on mingw with gcc 4.6
我决定开始开发一个新的C++项目,并希望使用最新版本的Qt框架,即4.7.3。我还决定使用[此处]找到的gcc 4.6(http://www.equation.com/servlet/equation.cmd?fa=fortran)。编译器似乎使用新的c++0x标准编译简单的c++文件。
我遇到的问题是,我似乎无法用gcc 4.6在MinGW上编译Qt 4.7.3。我一直得到以下错误:
cd srccorelib && 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:__devQt4.7.3binmoc.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"....includeQtCore" -I"tmprccdebug_shared" -I"tmp" -I"global" -I"....toolsshared" -I"..
3rdpartyzlib" -I"..3rdpartyharfbuzzsrc" -I"..3rdpartymd5" -I"..3rdpartymd4" -I"....includeActiveQt" -I"tmpmocdebug_sh
ared" -I"....mkspecswin32-g++" -D__GNUC__ -DWIN32 animationqabstractanimation.h -o tmpmocdebug_sharedmoc_qabstractanimation
.cpp
g++ -c -include tmpobjdebug_sharedqt_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"....includeQtCore" -I"tmprccdebug_s
hared" -I"tmp" -I"global" -I"....toolsshared" -I"..3rdpartyzlib" -I"..3rdpartyharfbuzzsrc" -I"..3rdpartymd5" -I"..3rdpa
rtymd4" -I"....includeActiveQt" -I"tmpmocdebug_shared" -I"....mkspecswin32-g++" -o tmpobjdebug_sharedqabstractanimatio
n.o animationqabstractanimation.cpp
animationqabstractanimation.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重建qt-it。现在我得到以下错误:
g++ -c -include tmpobjdebug_sharedqt_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"....includeQtCore" -I"tmprccdebug_s
hared" -I"tmp" -I"global" -I"....toolsshared" -I"..3rdpartyzlib" -I"..3rdpartyharfbuzzsrc" -I"..3rdpartymd5" -I"..3rdpa
rtymd4" -I"....includeActiveQt" -I"tmpmocdebug_shared" -I"....mkspecswin32-g++" -o tmpobjdebug_sharedmoc_qnamespace.o
tmpmocdebug_sharedmoc_qnamespace.cpp
tmpmocdebug_sharedmoc_qnamespace.cpp:196:16: error: 'WMouseNoMask' is not a member of 'Qt'
tmpmocdebug_sharedmoc_qnamespace.cpp:197:16: error: 'WDestructiveClose' is not a member of 'Qt'
[the list continues]
tmpmocdebug_sharedmoc_qnamespace.cpp:1022:17: error: 'PaletteLinkVisited' is not a member of 'Qt'
tmpmocdebug_sharedmoc_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
qabstractanimation在声明中有QOBJECT宏吗?Moc.exe可能没有生成文件Moc_qabstractanimation.cpp,因为它看不到宏。
相关文章:
- 使用 Bazel 编译 QT 应用程序时访问资源
- 如何使用MinGW编译器和SSL支持静态编译Qt
- 我可以在不使用Qt for Webassembly的情况下使用Emscripten编译Qt吗?
- 在 centos 7 上编译 Qt 5.11.1 中的错误
- 使用其他编译器编译QT代码
- 为arm64-v8a编译Qt和OpenCV
- C++编译Qt for Visual Studio 2017的问题
- 编译Qt项目,得到错误QQmlEngine:没有这样的文件或目录编译终止
- 编译Qt项目给出了对运算符delete(void*,unsigned int)的未定义引用
- Qt项目与自定义共享库交叉编译Qt
- 交叉编译 qt:加载共享库时出错
- 交叉编译Qt模块(不构建完全全新构建)并添加到现有Qt中
- 如何静态编译QT 5应用程序
- 无法编译QT创建快速应用程序项目
- 编译 Qt 安装程序框架静态
- 如何在QT Creator开源版本中为嵌入式Linux交叉编译qt
- 尝试在代码块中编译 Qt/C++ 代码
- 我可以在编译Qt应用程序的同时忽略Qt的打包库吗?
- 使用 Qt (Ubuntu 14.04) 编译 qt-dab 时出错
- 无法使用qlogvalueaxis.h编译Qt项目