Hello!

I'm quite interested in using Qyoto as cross-platform gui for my projects. But I'll need a windows version. So, I've been messing around for a day or so to get smoke and qyoto compile, but finally ended up with an AccessViolationException at the very first call to new QApplication(); (in CallSmokeMethod). This might be because of the hacking I did to get things to compile though. Here is the end result of what I tried to do to get stuff compiling (tried with VS2005 at first, but quickly switched to make/mingw...):

- Download Qt/WIN OpenSource Edition 4.4 RC1 (MinGW)
- Checkout kdebindings in spaceless path
- Checkout CMake modules
- Setup MSYS with MinGW (GCC 4.2.1-sjlj)
- Download ActivePerl (5.10)
- Download CMake (2.4)

- Rename CMakeLists.txt.qyoto to CMakeLists.txt
- Change ${LIB_INSTALL_DIR} to ${CMAKE_INSTALL_PREFIX}/bin in smoke/qt/CMakeLists.txt and csharp/qyoto/CMakeLists.txt (LIB_INSTALL_DIR doesn't show up as option in CMake GUI)
- Run CMake on kdebindings ( binaries in ./build, using MSYS makefiles target )
- Set Qwt5_INCLUDE_DIR to zero
- Set GMCS_EXECUTABLE to csc.exe
- Set GACUTIL_EXECUTABLE to gacutil.exe

- Remove 2>/dev/null from qtguess.pl (not recognized)
- Replace Qt/lib/libQt**.a with Qt/bin/Qt**.dll in qtguess.pl (static linking fails with loads of object not found)
- Remove Qt/bin/QtUITools.dll from qtguess.pl
- Undefine _GLIBCXX_HAVE_ISWBLANK in /lib/gcc/mingw32/4.2.1-sjlj/include/c++/mingw32/bits

- Change push ( @headers, $File::Find::dir . substr($1, 2) ); to push ( @headers, $File::Find::dir .'/'. $1 ); in generate.pl (sources are in include/Qt/../../src, not include/Qt/../src)
- Remove qdbus*.h, quiloader.h, qaccessible*.h, qitemeditorfactory.h, qsqldatabase.h from header_list (DBus and Accessiblity are not available, factory stuff couldn't be linked)

- Replace / (forward slash) with \\ (double backslash) in csc.exe arguments in build/CMakeFiles/qt-dotnet.dir/build.make (csc doesn't support /-paths)
- Remove using Qyoto; from csharp/qyoto/src/SmokeInvocation.cs

- `make`

- Change #include <dom/qdom.h> to #include <qdom.h> in smokedata.cpp, x_3.cpp, x_4.cpp and x_6.cpp
- Set $(smokeqt_EXTERNAL_OBJECTS) -L/d/Qt/4.4.0-rc1/bin -lQtCore4 -lQtGui4 -lQtNetwork4 -lQtOpenGL4 -lQtSql4 -lQtSvg4 -lQtXml4 -lQtWebKit4 -Wl,-Bdynamic in smoke\qt\CMakeFiles\smokeqt.dir\build.make
(changed to shared, /lib to /bin and removed QtUITools)

- `make`

- Ignore loads of 'redeclared without dllimport attribute: previous dllimport ignored' warnings

- Compiles until uics, which can't find DomUI when linking

Ilmar Kruis