> -----Original Message-----
> From: Paulo Jorge Guedes [mailto:[EMAIL PROTECTED]
> Sent: segunda-feira, 17 de Abril de 2006 20:15
> To: [email protected]
> Subject: RE: MAKE_KDEFX_LIB
> 
> > -----Original Message-----
> > From: Paulo Jorge Guedes [mailto:[EMAIL PROTECTED]
> > Sent: segunda-feira, 17 de Abril de 2006 19:35
> > To: [email protected]
> > Subject: MAKE_KDEFX_LIB
> >
> > Hi,
> >
> > Currently MAKE_KDEFX_LIB is not being defined, which causes linkage
> > errors in kstyles:
> >
> > #ifndef KDEFX_EXPORT
> > # ifdef MAKE_KDEFX_LIB
> > #  define KDEFX_EXPORT  KDE_EXPORT
> > # else
> > #  define KDEFX_EXPORT KDE_IMPORT
> > # endif
> > #endif
> >
> > Would this be a correct fix into kdelibs/CMakeLists.txt?
> >
> > -add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}
> > -DHAVE_CONFIG_H=1)
> > +add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}
> -DHAVE_CONFIG_H=1
> > -DMAKE_KDEFX_LIB)
> 
> Obviously not :)
> 
> This defines are generated into flags.make and the one in question is
> indeed in the kdefx.dir.
> Don't know why it doesn't work... the above fixes it (although the
wrong
> fix).

BTW, the error output is the following:

LINK : ..\..\bin\keramik.dll not found or not built by the last
incremental link
; performing full link
   Creating library ..\..\bin\keramik.lib and object
..\..\bin\keramik.exp
keramik.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) p
ublic: static struct KStyle::DoubleButtonOption * __cdecl
KStyle::OptionBase<str
uct KStyle::DoubleButtonOption,struct
KStyle::Option>::defaultOption(void)" (__i
[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@@KS
tyle@@SA
[EMAIL PROTECTED]@XZ) referenced in function "protected: static
struct KSt
yle::DoubleButtonOption const * __cdecl KStyle::extractOption<struct
KStyle::Dou
bleButtonOption const *>(struct KStyle::Option *)"
([EMAIL PROTECTED]
[EMAIL PROTECTED]@@@KStyle@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@Z)
..\..\bin\keramik.dll : fatal error LNK1120: 1 unresolved externals

As you can see, __declspec(dllimport) is being used because
MAKE_KDEFX_LIB is not defined.

This only happens with MSVC.

Paulo
_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to