涉及软件及平台:
qt-win-opensource-src-4.1.1.zip
Dev-C++ 4.9.9.0
错误情况:
configure -platform win32-g++ //没问题
mingw32-make //开始没问题,然后出现错误:
........
mingw32-make[2]: Entering directory `D:/DevProg/qt/4.1.1/src/corelib'
mingw32-make -f Makefile.Debug all
mingw32-make[3]: Entering directory `D:/DevProg/qt/4.1.1/src/corelib'
g++ -x c++-header -c -g -g -Wall -frtti -fexceptions -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -I"D:/DevProg/qt/4.1.1/include" -I"D:/DevProg/qt/4.1.1/include/QtCore" -I"tmp" -I"D:/DevProg/qt/4.1.1/src/corelib/global" -I"..\3rdparty\zlib" -I"D:/DevProg/qt/4.1.1/include/ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"D:/DevProg/qt/4.1.1/mkspecs/win32-g++" -o tmp\obj\debug_shared\qt_pch.h.gch\c++ global\qt_pch.h
g++: language c++-header not recognized
g++: global\qt_pch.h: linker input file unused because linking not done
g++ -c -include tmp\obj\debug_shared\qt_pch.h -g -g -Wall -frtti -fexceptions -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -I"D:/DevProg/qt/4.1.1/include" -I"D:/DevProg/qt/4.1.1/include/QtCore" -I"tmp" -I"D:/DevProg/qt/4.1.1/src/corelib/global" -I"..\3rdparty\zlib" -I"D:/DevProg/qt/4.1.1/include/ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"D:/DevProg/qt/4.1.1/mkspecs/win32-g++" -o tmp\obj\debug_shared\qglobal.o global\qglobal.cpp
cc1plus.exe: tmp\obj\debug_shared\qt_pch.h: No such file or directory
mingw32-make[3]: *** [tmp\obj\debug_shared\qglobal.o] Error 1
mingw32-make[3]: Leaving directory `D:/DevProg/qt/4.1.1/src/corelib'
mingw32-make[2]: *** [debug-all] Error 2
mingw32-make[2]: Leaving directory `D:/DevProg/qt/4.1.1/src/corelib'
mingw32-make[1]: *** [sub-corelib-make_default-ordered] Error 2
mingw32-make[1]: Leaving directory `D:/DevProg/qt/4.1.1/src'
mingw32-make: *** [sub-src-make_default-ordered] Error 2
看到有错误提示 :
...
g++: language c++-header not recognized
g++: global\qt_pch.h: linker input file unused because linking not done
...
GCC 支持 c++-header 吗?c-header 好象碰到过。你们有没有碰到过这个问题吗?
还是因为Dev C++ 4.9.9 不支持的缘故,你们用Dev C++5的有这个问题吗?
另外我搜索了,出现c++-header 字串的在QT里就只有两个文件:
文件 unixmake.cpp 和mingw_make.cpp
出现错误的好象不在 unixmake.cpp 中,而在mingw_make.cpp 的函数定义MingwMakefileGenerator::writeMingwParts 中,里面好象构造了"tmp\obj\debug_shared\qt_pch.h.gch\c++ global\qt_pch.h"串:
void MingwMakefileGenerator::writeMingwParts(QTextStream &t)
{
writeStandardParts(t);
if (!preCompHeaderOut.isEmpty()) {
QString header = project->first("PRECOMPILED_HEADER");
QString cHeader = preCompHeaderOut + Option::dir_sep + "c";
t << cHeader << ": " << header << " "
<< findDependencies(header).join(" \\\n\t\t")
<< "\n\t" << mkdir_p_asstring(preCompHeaderOut)
<< "\n\t" << "$(CC) -x c-header -c $(CFLAGS) $(INCPATH) -o " << cHeader
<< " " << header
<< endl << endl;
QString cppHeader = preCompHeaderOut + Option::dir_sep + "c++";
t << cppHeader << ": " << header << " "
<< findDependencies(header).join(" \\\n\t\t")
<< "\n\t" << mkdir_p_asstring(preCompHeaderOut)
<< "\n\t" << "$(CXX) -x c++-header -c $(CXXFLAGS) $(INCPATH) -o " <<
cppHeader << " " << header
<< endl << endl;
}
}
能否用别的 选项 代替c++-headere 的? 或者有别的解决方法吗
[ 此贴被XChinux在2006-03-24 23:46重新编辑 ]