[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    [Kde-bindings] Qyoto on Windows
From:       "Ilmar Kruis" <ikruis () gmail ! com>
Date:       2008-05-03 22:25:04
Message-ID: 6dfefa000805031525q17d2fb03x74d6e3b7dafd9b8a () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


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

[Attachment #5 (text/html)]

Hello!<br><br>I&#39;m quite interested in using Qyoto as cross-platform gui for my \
projects. But I&#39;ll need a windows version. So, I&#39;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...):<br> <br>- Download \
Qt/WIN OpenSource Edition 4.4 RC1 (MinGW)<br>- Checkout kdebindings in spaceless \
path<br>- Checkout CMake modules<br>- Setup MSYS with MinGW (GCC 4.2.1-sjlj)<br>- \
Download ActivePerl (5.10)<br>- Download CMake (2.4)<br> <br>- Rename \
CMakeLists.txt.qyoto to CMakeLists.txt<br>- Change ${LIB_INSTALL_DIR} to \
${CMAKE_INSTALL_PREFIX}/bin in smoke/qt/CMakeLists.txt and \
csharp/qyoto/CMakeLists.txt (LIB_INSTALL_DIR doesn&#39;t show up as option in CMake \
                GUI)<br>
- Run CMake on kdebindings ( binaries in ./build, using MSYS makefiles target )<br>- \
Set Qwt5_INCLUDE_DIR to zero<br>- Set GMCS_EXECUTABLE to csc.exe<br>- Set \
GACUTIL_EXECUTABLE to gacutil.exe<br><br>- Remove 2&gt;/dev/null from qtguess.pl (not \
                recognized)<br>
- Replace Qt/lib/libQt**.a with Qt/bin/Qt**.dll in qtguess.pl (static linking fails \
with loads of object not found)<br>- Remove Qt/bin/QtUITools.dll from qtguess.pl<br>- \
Undefine _GLIBCXX_HAVE_ISWBLANK in \
/lib/gcc/mingw32/4.2.1-sjlj/include/c++/mingw32/bits<br> <br>- Change push ( \
@headers, $File::Find::dir . substr($1, 2) ); to push ( @headers, $File::Find::dir \
.&#39;/&#39;. $1 ); in generate.pl (sources are in include/Qt/../../src, not \
include/Qt/../src)<br>- Remove qdbus*.h, quiloader.h, qaccessible*.h, \
qitemeditorfactory.h, qsqldatabase.h from header_list (DBus and Accessiblity are not \
available, factory stuff couldn&#39;t be linked)<br> <br>- Replace / (forward slash) \
with \\ (double backslash) in csc.exe arguments in \
build/CMakeFiles/qt-dotnet.dir/build.make (csc doesn&#39;t support /-paths)<br>- \
Remove using Qyoto; from csharp/qyoto/src/SmokeInvocation.cs<br> <br>- \
`make`<br><br>- Change #include &lt;dom/qdom.h&gt; to #include &lt;qdom.h&gt; in \
smokedata.cpp, x_3.cpp, x_4.cpp and x_6.cpp<br>- 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<br>  \
(changed to shared, /lib to /bin and removed QtUITools)<br><br>- `make`<br><br>- \
Ignore loads of &#39;redeclared without dllimport attribute: previous dllimport \
ignored&#39; warnings<br><br>- Compiles until uics, which can&#39;t find DomUI when \
linking<br> <br>Ilmar Kruis<br><br>



_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic