tdm在win7 x64下静态编译 QT5.5 64bit版本问题2

在尝试在Win7 x64环境下使用TDM-GCC 64位编译静态版本的QT5.5时,遇到了错误。错误源于activscp.h头文件中GUID的重复定义。该问题可能是由于QT5.5源代码中对特定编译器宏处理不足导致的。解决方法是手动在qaxscript.cpp文件中添加_NO_SCRIPT_GUIDS宏定义,以此规避mingw-w64的已知bug。
摘要由CSDN通过智能技术生成
问题描述:
g++ -c -pipe -fno-keep-inline-dllexport -m64 -g -std=c++0x -fno-exceptions -frtti -Wall -Wextra -DUNICODE -DQT_BUILD_AXCONTAINER_LIB -DQT_BUILDING_QT
-D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x04080
0 -DQT_NO_EXCEPTIONS -DQT_FORCE_ASSERTS -DQT_AXBASE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -Itmp -IE:\Coding\QT\SourceCode\qt-everywhere-
opensource-src-5.5.0\qtbase\include\QtGui\5.5.0 -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbase\include\QtGui\5.5.0\QtGui -IE:\Cod
ing\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbase\include\QtWidgets\5.5.0 -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbas
e\include\QtWidgets\5.5.0\QtWidgets -I..\..\..\include -I..\..\..\include\ActiveQt -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbase
\include -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbase\include\QtWidgets -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-
5.5.0\qtbase\include\QtGui -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbase\include\QtCore\5.5.0 -IE:\Coding\QT\SourceCode\qt-every
where-opensource-src-5.5.0\qtbase\include\QtCore\5.5.0\QtCore -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbase\include\QtCore -I.mo
c\debug -I.uic -IE:\Coding\QT\SourceCode\qt-everywhere-opensource-src-5.5.0\qtbase\mkspecs\win32-g++ -o .obj\debug\qaxscript.o qaxscript.cpp
In file included from C:/TDM-GCC-64/x86_64-w64-mingw32/include/initguid.h:8:0,
from qaxscript.cpp:61:
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:470:1: error: redefinition of 'const GUID IID_IActiveScriptSite'
DEFINE_GUID(IID_IActiveScriptSite, 0xdb01a1e3, 0xa42b, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
^
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:189:1: note: 'const GUID IID_IActiveScriptSite' previously defined here
DEFINE_GUID(IID_IActiveScriptSite, 0xdb01a1e3, 0xa42b, 0x11cf, 0x8f, 0x20, 0x00, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
^
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:696:1: error: redefinition of 'const GUID IID_IActiveScriptError'
DEFINE_GUID(IID_IActiveScriptError, 0xeae1ba61, 0xa4ed, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
^
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:194:1: note: 'const GUID IID_IActiveScriptError' previously defined here
DEFINE_GUID(IID_IActiveScriptError, 0xeae1ba61, 0xa4ed, 0x11cf, 0x8f, 0x20, 0x00, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
^
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:831:1: error: redefinition of 'const GUID IID_IActiveScriptError64'
DEFINE_GUID(IID_IActiveScriptError64, 0xb21fb2a1, 0x5b8f, 0x4963, 0x8c,0x21, 0x21,0x45,0x0f,0x84,0xed,0x7f);
^
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:195:1: note: 'const GUID IID_IActiveScriptError64' previously defined here
DEFINE_GUID(IID_IActiveScriptError64, 0xb21fb2a1, 0x5b8f, 0x4963, 0x8c, 0x21, 0x21, 0x45, 0x0f, 0x84, 0xed, 0x7f);
^
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:950:1: error: redefinition of 'const GUID IID_IActiveScriptSiteWindow'
DEFINE_GUID(IID_IActiveScriptSiteWindow, 0xd10f6761, 0x83e9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
^
C:/TDM-GCC-64/x86_64-w64-mingw32/include/activscp.h:191:1: note: 'const GUID IID_IActiveScriptSiteWindow' previously defined here
DEFINE_GUID(IID_IActiveScriptSiteWindow, 0xd10f6761, 0x83e9, 0x11cf, 0x8f, 0x20, 0x00, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值