[patch] Link Okteta for Windows (kdeutils/okteta/)
Jaroslaw Staniek
js at iidea.pl
Wed May 14 13:56:58 CEST 2008
Friedrich W. H. Kossebau said the following, On 2008-05-14 13:15:
> Hi Jarosław,
>
> Am Dienstag, 13. Mai 2008, um 15:43 Uhr, schrieben Sie:
>> Friedrich,
>> Attached patch which helps to link Okteta without any problems on Windows
>> (msvc).
>
> Thanks. Applied the changes for
> core/ksectionlist.*
> program/libkakao/core/tests/testdocumentfilesynchronizerfactory.cpp
> core/kabstractbytearraymodel.h
> but for the rest, well, the main part, I need some more discussion, see below:
then let's go to kde-windows at kde.org; CC'd now and reattaching the patch for
reference...
>> The main change was to add a few exports and link the main library
>> directly instead via the static libs.
>
> I do not like that too much, honestly.
> The added exports are just needed for the tests, not for the runtime code.
> And the static libs you removed are making it easy for me to keep an overview
> locally, to control include dirs/dependencies and to move stuff around.
I guess cmake tracks the deps reasonable well. At least projects bigger than
Okteta have no problems. Optionally static libs could nbe replaced with
dynamic libs (exactly the same complexity) if you have problems with link
times on a non-msvc compiler.
I guess that since cmake notices changes made to the subdirectory's
CMakeFiles.txt, the main okteta lib is rebuilt anyway no matter you have
intermediate step with static libs...
> Could we instead please try to make static libs work also with msvc? I will be
> glad to cooperate. But your proposed changes just go too much against my
> development style, sorry.
This style is pretty new to me these days (I remember it when autotools were
in use though) :)
> What are the problems msvc has with the current build instructions?
[ 6%] Building CXX object
okteta/core/CMakeFiles/oktetacore.dir/kpiecetablebytearraymodel.obj
kpiecetablebytearraymodel.cpp
[ 6%] Building CXX object
okteta/core/CMakeFiles/oktetacore.dir/kwordbufferservice.obj
kwordbufferservice.cpp
[ 6%] Building CXX object okteta/core/CMakeFiles/oktetacore.dir/kbookmarklist.obj
kbookmarklist.cpp
[ 6%] Building CXX object okteta/core/CMakeFiles/oktetacore.dir/ksection.obj
ksection.cpp
[ 7%] Building CXX object okteta/core/CMakeFiles/oktetacore.dir/ksectionlist.obj
ksectionlist.cpp
Linking CXX shared library ..\..\bin\oktetacore.dll
Creating library ..\..\bin\oktetacore.lib and object ..\..\bin\oktetacore.exp
[ 7%] Built target oktetacore
[ 7%] Generating testoktetacore_automoc.cpp
[ 7%] Building CXX object
okteta/core/CMakeFiles/testoktetacore.dir/testoktetacore_automoc.obj
testoktetacore_automoc.cpp
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(45)
: warning C4273: 'staticMetaObject' : inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kbytearraymodel.h(43)
: see previous definition of 'public: static QMetaObject const
KHECore::KByteArrayModel::staticMetaObject'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(45)
: error C2491: 'KHECore::KByteArrayModel::staticMetaObject' : definition of
dllimport static data member not allowed
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(51)
: warning C4273: 'KHECore::KByteArrayModel::metaObject' : inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kbytearraymodel.h(43)
: see previous definition of 'metaObject'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(56)
: warning C4273: 'KHECore::KByteArrayModel::qt_metacast' : inconsistent dll
linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kbytearraymodel.h(43)
: see previous definition of 'qt_metacast'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(68)
: warning C4273: 'KHECore::KByteArrayModel::qt_metacall' : inconsistent dll
linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kbytearraymodel.h(43)
: see previous definition of 'qt_metacall'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(85)
: warning C4273: 'KHECore::KByteArrayModel::bookmarksAdded' : inconsistent dll
linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kbytearraymodel.h(81)
: see previous definition of 'bookmarksAdded'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(92)
: warning C4273: 'KHECore::KByteArrayModel::bookmarksRemoved' : inconsistent
dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kbytearraymodel.h(82)
: see previous definition of 'bookmarksRemoved'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kbytearraymodel.cpp(99)
: warning C4273: 'KHECore::KByteArrayModel::bookmarksModified' : inconsistent
dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kbytearraymodel.h(83)
: see previous definition of 'bookmarksModified'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(52)
: warning C4273: 'staticMetaObject' : inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(42)
: see previous definition of 'public: static QMetaObject const
KHECore::KPieceTableByteArrayModel::staticMetaObject'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(52)
: error C2491: 'KHECore::KPieceTableByteArrayModel::staticMetaObject' :
definition of dllimport static data member not allowed
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(58)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::metaObject' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(42)
: see previous definition of 'metaObject'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(63)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::qt_metacast' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(42)
: see previous definition of 'qt_metacast'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(79)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::qt_metacall' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(42)
: see previous definition of 'qt_metacall'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(99)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::revertedToVersionIndex'
: inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(113)
: see previous definition of 'revertedToVersionIndex'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(106)
: warning C4273:
'KHECore::KPieceTableByteArrayModel::headVersionDescriptionChanged' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(114)
: see previous definition of 'headVersionDescriptionChanged'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(113)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::headVersionChanged' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(115)
: see previous definition of 'headVersionChanged'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(120)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::bookmarksAdded' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(118)
: see previous definition of 'bookmarksAdded'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(127)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::bookmarksRemoved' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(119)
: see previous definition of 'bookmarksRemoved'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kpiecetablebytearraymodel.cpp(134)
: warning C4273: 'KHECore::KPieceTableByteArrayModel::bookmarksModified' :
inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kpiecetablebytearraymodel.h(120)
: see previous definition of 'bookmarksModified'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kabstractbytearraymodel.cpp(50)
: warning C4273: 'staticMetaObject' : inconsistent dll linkage
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\../../../../../../svn/trunk/KDE/kdeutils/okteta/core/kabstractbytearraymodel.h(86)
: see previous definition of 'public: static QMetaObject const
KHECore::KAbstractByteArrayModel::staticMetaObject'
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kabstractbytearraymodel.cpp(50)
: error C2491: 'KHECore::KAbstractByteArrayModel::staticMetaObject' :
definition of dllimport static data member not allowed
c:\kde4\tmp\kdeutils-20080202\work\msvc2005-debug\okteta\core\moc_kabstractbytearraymodel.cpp(56)
: warning C4273: 'KHECore::KAbstractByteArrayModel::metaObject' : inconsistent
dll linkage
[..]
--
regards / pozdrawiam, Jaroslaw Staniek
Sponsored by OpenOffice Polska (http://www.openoffice.com.pl/en) to work on
Kexi & KOffice (http://www.kexi.pl/en, http://www.koffice.org/kexi)
KDE Libraries for MS Windows (http://windows.kde.org)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: link_windows.patch
Url: http://mail.kde.org/pipermail/kde-windows/attachments/20080514/3659fe91/attachment-0001.ksh
More information about the Kde-windows
mailing list