On Wed, Jul 23, 2008 at 9:05 PM, Pau Garcia i Quiles <[EMAIL PROTECTED]> wrote: > Quoting Jeff Mitchell <[EMAIL PROTECTED]>: > > a) Your exports are broken and don't work on Windows with Visual C++ > > b) They may come straight from kdemacros but they don't work, > something's missing. Please note in gcc visibility = default means > "make everything public", I guess that's why it worked fine with gcc. > > c) It built fine on Windows with Visual C++ and MinGW (gcc 3.4.5). > Could you please tell me what broke and on what platform? > > d) I didn't know the library was non-KDE. Given that it is developed > in KDE's subversion repository and there is no indication anywhere in > the sources, I'd say my assumption was quite correct. > > And let me add: > > e) Please be polite and respect others's work. That "crap" (as you > call it) made Amarok work on Windows and generated a lot of interest: > http://amarok.kde.org/blog/archives/745-Amarok-2-on-Windows-Reloaded.html > > Thank you. > >> SVN commit 837166 by mitchell: >> >> a) Why did you change this -- you gave no email to the maintainer >> (me) before touching things >> b) Those lines that were in there already came straight from kdemacros >> c) You broke build >> d) You introduced KDE deps into a non-KDE library >> >> Reverting this crap. >> >> CCMAIL: [EMAIL PROTECTED] >> >> >> M +4 -9 PopupDropper_Export.h >> >> >> --- >> trunk/playground/libs/popupdropper/popupdropper/PopupDropper_Export.h >> #837165:837166 >> @@ -20,15 +20,10 @@ >> #ifndef POPUPDROPPER_EXPORT_H >> #define POPUPDROPPER_EXPORT_H >> >> -/* needed for KDE_EXPORT and KDE_IMPORT macros */ >> -#include <kdemacros.h> >> - >> -#ifndef POPUPDROPPER_EXPORT >> -# if defined(MAKE_AMAROKPUD_LIB) >> -# define POPUPDROPPER_EXPORT KDE_EXPORT >> -# else >> -# define POPUPDROPPER_EXPORT KDE_IMPORT >> -# endif >> +#if defined(_WIN32) || defined(_WIN64) >> + #define POPUPDROPPER_EXPORT __declspec(dllexport) >> +#else >> + #define POPUPDROPPER_EXPORT __attribute__ ((visibility("default"))) >> #endif >> >> #endif
Hi, windows requires a different entry depending on if the library is being built or used. if MAKE_POPUPDROPPER_LIB is not defined, KDE_IMPORT should be used. On non windows KDE_IMPORT is defined as the same thing as KDE_EXPORT, so theirs no problem their. See http://websvn.kde.org/trunk/KDE/kdelibs/kdemacros.h.cmake?revision=740265&view=markup for the proper way to handle this, if depending on kdelibs really isn't an option. >> > > > > -- > Pau Garcia i Quiles > http://www.elpauer.org > (Due to my workload, I may need 10 days to answer) > > _______________________________________________ > Kde-windows mailing list > [email protected] > https://mail.kde.org/mailman/listinfo/kde-windows > _______________________________________________ Kde-windows mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-windows
