报错!使用Intel C++ 10.1编译Qt4时出现xilink错误
昨天使用Intel C++ 10.1 {IA-32, Version 10.1 Build 20080312 Package ID: w_cc_p_10.1.021}
编译Qt4 qt-win-preview-opensource-src-4.4.0-tp1 报错
问下有谁用icc编译过Qt4的。我的配置如下
configure -release -no-sql-sqlite -qt-libjpeg -qt-gif -platform win32-msvc.net -qt-zlib -qt-libpng -qt-libmng
-qt-libtiff -qt-libjpeg -plugin-sql-mysql -plugin-sql-psql -plugin-sql-odbc -no-dsp -no-vcproj
我的win32-msvc.net 是我自己修改的
cl 改成 icl, link改成xilink,编译标志改成 -QxP -Ox -Qipo -Qprec-div- -QaxP -Qvc9 -GF -GF -Qscalar-rep
编译通过了,在link时出错 如下
正在创建库 ..\..\lib\QtCore4.lib 和对象 ..\..\lib\QtCore4.exp
ipo_24326obj.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall QFutureWatcherBase::metaObject(void)const " (?met
aObject@QFutureWatcherBase@@UBEPBUQMetaObject@@XZ)
ipo_24326obj1.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall QFutureWatcherBase::metaObject(void)const " (?me
taObject@QFutureWatcherBase@@UBEPBUQMetaObject@@XZ)
ipo_24326obj2.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall QFutureWatcherBase::metaObject(void)const " (?me
....
编译参数
icl -c -nologo -Zm300 -QxP -Ox -Qipo -Qprec-div- -QaxP -Qvc9 -GF -GF -Qscalar-rep -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPP
ORT -DQT_BOOTSTRAPPED -DQT_RCC -DQT_LITE_UNICODE -DQT_NO_DATASTREAM -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_UNICODETABLES -DQT_NO_LIBRARY -DQT_NO_SYSTEMLOCALE
-DQT_NO_GEOM_VARIANT -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NODLL -I"..\..\corelib\arch\generic" -I"..\..\..\include" -I"." -I"..\..\..\include\
QtCore" -I"..\..\..\include\QtXml" -I"..\..\xml" -I"." -I"..\..\3rdparty\zlib" -I"." -I"..\..\..\mkspecs\win32-msvc.net" -Fotmp\obj\release_shared\ @D:\temp\
who can help me :(