Cross compiling page in techbase

Alexander Neundorf neundorf at kde.org
Thu Mar 13 19:07:21 CET 2008


On Thursday 13 March 2008, Carlo wrote:
> On Thu, Mar 13, 2008 at 1:11 AM, Alexander Neundorf <neundorf at kde.org> 
wrote:
...
> >  Is that using the modified FindKDE4.cmake ?
> >  mingw32-kdelibs.cmake sets KDE4_DATA_DIR, and if this is set,
> > FindKDE4.cmake should use it to load FindKDE4Internal.cmake, which will
> > load
> >  KDELibsDependencies.cmake, which contains all these settings from the
> >  installed kdelibs.
> >
> >  What is going wrong ?
> >  How does the installed KDELibsDependencies.cmake look like, i.e. are the
> > paths in that file the same as the real locations ?
>
> Yes it uses the modified FindKDE4.cmake  and KDE4_DATA_DIR is set
> the problem is that  KDELibsDependencies.cmake uses
> ${KDE4_INSTALL_DIR} that is retrieved from this code
> get_filename_component(_DIR ${KDE4_KDECONFIG_EXECUTABLE} PATH )
> get_filename_component(KDE4_INSTALL_DIR ${_DIR} PATH )
> but KDE4_KDECONFIG_EXECUTABLE is setted to the linux one, if i set it
> to the windows one it goes ahead and it find include and library dir
> but it doesn't find kde4automoc and kconfig_compiler
> -- Found KDE 4.1 include dir: /windows/kde4/include
> -- Found KDE 4.1 library dir: /windows/kde4/lib
> -- Didn't find the KDE4 kconfig_compiler preprocessor
> -- Didn't find the KDE4 automoc

Please update your FindKDE4Internal.cmake, I committed a change so that now 
KDE4_INSTALL_DIR is determined relative to the location of the installed 
FindKDE4Internal.cmake instead of kde4-config.exe. This should help for now 
for this problem.

> > > for some strange reason for kde4automoc it calls ../bin/kde4automoc 
> > > instead of ../bin/kde4automoc.exe one that's why i made the link in
> >
> >  Is the .exe extension really required to run the executable ?
> >  Under Windows it isn't. Is this a wine speciality ?
>
> no, the problem here is that cmake wants to run makekdewidgets.exe,
> maybe it tries to run makekdewidgets.exe.bat while kde4automoc is
> called directly

Ok, I lost track.
How does it call makekdewidgets, how does it call kde4automoc, and which of 
the two is the problem ?

> >  Ok. This is as far as I see always undefined references from QtUiTools to
> >  QtCore:
> > /windows/kde4/lib/libQtUiTools.a(quiloader.o):quiloader.cpp:(.text+0x7fd):
> > undefined reference to `__imp___ZNK7QString6toUtf8Ev'
> >
> >  Which value does QT_QTUITOOLS_LIBRARY have ?
> /windows/kde4/lib/libQtUiTools.a
> anyway I've find out that it could be fixed by just removing
> /windows/kde4/lib/libQtCore4.a and adding -lQtCore4 instead of every
> Qt lib

Is libQtUiTools.a a static or a shared library ? 
Don't they usually have the suffix .dll or .lib ?

Alex



More information about the Kde-windows mailing list