YaK:: Building PolyWorld on Windows (Failure?) | [Changes] [Calendar] [Search] [Index] [PhotoTags] |
Polyworld needs Qt4. Qt4 is available both Open Source and as commercial code. The Open Source code for Windows only works with the MinGW compilers.
The Open Source comes as either source, or as a compiled release. The compiled release seems incomplete; I cannot find anything usable as a "libGL.a" library. But the compiled release does offer to load MinGW for you when you install it; that is useful enough, that gdb on linux needs you to convert them to LF chars. you should do it. Then put C:/MinGW/bin in your PATH.
Now I'm trying to compile the source for Qt4. I deleted the entire 'examples' directory because the ./configure thrashed on it.
PolyWorld itself needs some things not provided in MinGW: the "rand48" functions; POSIX calls for link() and unlink(); mkdir() doesn't take second argument for mode; gettimeofday(); ... things like that.
I'll try writing my own wrappers for "rand48" functions using the weaker "rand". I comment out the code that links & unlinks files. gettimeofday() will return mock results (adds 0.1 seconds on each call).
Other random annoyances:
C:/qt401/bin/moc.exe -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -DQT_NO_DEBUG -I"C:/qt401/include" -I"C:/qt401/include/QtCore" -I"tmp" -I"C:/qt401/src/corelib/global" -I"../3rdparty/zlib" -I"C:/qt401/include/ActiveQt" -I"tmp/moc/release_shared" -I"." -I"C:/qt401/mkspecs/win32-g++" -D__GNUC__ -DWIN32 kernel/qeventdispatcher_win_p.h -o tmp/moc/release_shared/moc_qeventdispatcher_win_p.cpp g++ -c -O2 -O2 -Wall -frtti -fno-exceptions -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -DQT_NO_DEBUG -I"C:/qt401/include" -I"C:/qt401/include/QtCore" -I"tmp" -I"C:/qt401/src/corelib/global" -I"../3rdparty/zlib" -I"C:/qt401/include/ActiveQt" -I"tmp/moc/release_shared" -I"." -I"C:/qt401/mkspecs/win32-g++" -o tmp/obj/release_shared/moc_qeventdispatcher_win_p.o tmp/moc/release_shared/moc_qeventdispatcher_win_p.cpp C:/qt401/bin/moc.exe -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -DQT_NO_DEBUG -I"C:/qt401/include" -I"C:/qt401/include/QtCore" -I"tmp" -I"C:/qt401/src/corelib/global" -I"../3rdparty/zlib" -I"C:/qt401/include/ActiveQt" -I"tmp/moc/release_shared" -I"." -I"C:/qt401/mkspecs/win32-g++" -D__GNUC__ -DWIN32 kernel/qwineventnotifier_p.h -o tmp/moc/release_shared/moc_qwineventnotifier_p.cpp g++ -c -O2 -O2 -Wall -frtti -fno-exceptions -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -DQT_NO_DEBUG -I"C:/qt401/include" -I"C:/qt401/include/QtCore" -I"tmp" -I"C:/qt401/src/corelib/global" -I"../3rdparty/zlib" -I"C:/qt401/include/ActiveQt" -I"tmp/moc/release_shared" -I"." -I"C:/qt401/mkspecs/win32-g++" -o tmp/obj/release_shared/moc_qwineventnotifier_p.o tmp/moc/release_shared/moc_qwineventnotifier_p.cpp C:/qt401/bin/moc.exe -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -DQT_NO_DEBUG -I"C:/qt401/include" -I"C:/qt401/include/QtCore" -I"tmp" -I"C:/qt401/src/corelib/global" -I"../3rdparty/zlib" -I"C:/qt401/include/ActiveQt" -I"tmp/moc/release_shared" -I"." -I"C:/qt401/mkspecs/win32-g++" -D__GNUC__ -DWIN32 codecs/qtextcodecplugin.h -o tmp/moc/release_shared/moc_qtextcodecplugin.cpp codecs/qtextcodecplugin.h:51: Error: Undefined interface mingw32-make[1]: *** [tmp/moc/release_shared/moc_qtextcodecplugin.cpp] Error 1 mingw32-make[1]: Leaving directory `c:/qt401/src/corelib' c:\MinGW\bin\mingw32-make.exe: *** [release-all] Error 2 Administrator@wal-qt1q0zhd6wb /c/qt401/src/corelib $ C:/qt401/bin/moc.exe -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -DQT_NO_DEBUG -I"C:/qt401/include" -I"C:/qt401/include/QtCore" -I"tmp" -I"C:/qt401/src/corelib/global" -I"../3rdparty/zlib" -I"C:/qt401/include/ActiveQt" -I"tmp/moc/release_shared" -I"." -I"C:/qt401/mkspecs/win32-g++" -D__GNUC__ -DWIN32 codecs/qtextcodecplugin.h -o tmp/moc/release_shared/moc_qtextcodecplugin.cpp Administrator@wal-qt1q0zhd6wb /c/qt401/src/corelib $ mingw32-make MAKE=mingw32-make ... and it continues ...I did the same command that broke -- I just pasted it into my shell -- and it worked. The problem is that there are a whole bunch of these.
Now I've got the gcc compiler bug described here: http://lists.trolltech.com/qt4-preview-feedback/2005-05/thread01027-0.html When I run, it says "QWidget: Must construct a QApplication before a QPaintDevice". I'm using the verion of gcc that trolltech installed for me! (3.4.2 (mingw-special)). It's the exact same as the "current" MSYS directly from the mingw sourceforge site.
Should I bother to try to hack around it? Go back to an OLDER version of mingw?
(last modified 2005-11-08) [Login] |