diff --git a/configure b/configure index 466d000..2dc3f31 100755 --- a/configure +++ b/configure @@ -1080,6 +1080,7 @@ done [ -d $outpath/src/tools ] || mkdir -p $outpath/src/tools cat > $outpath/src/tools/qconfig.cpp.new <iface(); \ } -# ifdef Q_WS_WIN -# ifdef Q_CC_BOR -# define Q_EXPORT_PLUGIN(PLUGIN) \ - Q_PLUGIN_VERIFICATION_DATA \ - Q_EXTERN_C __declspec(dllexport) \ - const char * __stdcall qt_ucm_query_verification_data() \ - { return qt_ucm_verification_data; } \ - Q_EXTERN_C __declspec(dllexport) QUnknownInterface* \ - __stdcall ucm_instantiate() \ - Q_PLUGIN_INSTANTIATE( PLUGIN ) -# else -# define Q_EXPORT_PLUGIN(PLUGIN) \ - Q_PLUGIN_VERIFICATION_DATA \ - Q_EXTERN_C __declspec(dllexport) \ - const char *qt_ucm_query_verification_data() \ - { return qt_ucm_verification_data; } \ - Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate() \ - Q_PLUGIN_INSTANTIATE( PLUGIN ) -# endif -# else -# define Q_EXPORT_PLUGIN(PLUGIN) \ +#if defined(Q_WS_WIN) && defined(Q_CC_BOR) +# define Q_STDCALL __stdcall +#else +# define Q_STDCALL +#endif + +#define Q_EXPORT_PLUGIN(PLUGIN) \ Q_PLUGIN_VERIFICATION_DATA \ - Q_EXTERN_C \ - const char *qt_ucm_query_verification_data() \ + Q_EXTERN_C Q_EXPORT \ + const char * Q_STDCALL qt_ucm_query_verification_data() \ { return qt_ucm_verification_data; } \ - Q_EXTERN_C QUnknownInterface* ucm_instantiate() \ + Q_EXTERN_C Q_EXPORT QUnknownInterface* Q_STDCALL ucm_instantiate() \ Q_PLUGIN_INSTANTIATE( PLUGIN ) -# endif - #endif struct QUnknownInterface; diff --git a/src/kernel/qtextengine_p.h b/src/kernel/qtextengine_p.h index df7a79f..0bd5cd2 100644 --- a/src/kernel/qtextengine_p.h +++ b/src/kernel/qtextengine_p.h @@ -292,7 +292,7 @@ private: class QFontPrivate; -class QTextEngine { +class Q_EXPORT QTextEngine { public: QTextEngine( const QString &str, QFontPrivate *f ); ~QTextEngine(); diff --git a/src/tools/qglobal.h b/src/tools/qglobal.h index 135c289..0fbd4aa 100644 --- a/src/tools/qglobal.h +++ b/src/tools/qglobal.h @@ -885,6 +885,10 @@ class QDataStream; # define Q_TEMPLATE_EXTERN # undef Q_DISABLE_COPY /* avoid unresolved externals */ # endif +#elif defined(Q_CC_GNU) && __GNUC__ - 0 >= 4 +# define Q_EXPORT __attribute__((visibility("default"))) +# undef QT_MAKEDLL /* ignore these for other platforms */ +# undef QT_DLL #else # undef QT_MAKEDLL /* ignore these for other platforms */ # undef QT_DLL diff --git a/tools/designer/shared/domtool.h b/tools/designer/shared/domtool.h index 4fa561c..15e508d 100644 --- a/tools/designer/shared/domtool.h +++ b/tools/designer/shared/domtool.h @@ -40,7 +40,7 @@ class QDomElement; class QDomDocument; -class DomTool : public Qt +class Q_EXPORT DomTool : public Qt { public: static QVariant readProperty( const QDomElement& e, const QString& name, const QVariant& defValue ); diff --git a/tools/designer/uilib/qwidgetfactory.cpp b/tools/designer/uilib/qwidgetfactory.cpp index a1ff1c2..b7fc6e9 100644 --- a/tools/designer/uilib/qwidgetfactory.cpp +++ b/tools/designer/uilib/qwidgetfactory.cpp @@ -120,13 +120,13 @@ static QPluginManager *widgetInterfaceManager = 0; static QMap *availableWidgetMap = 0; static QStringList *availableWidgetList = 0; -QMap *qwf_forms = 0; +Q_EXPORT QMap *qwf_forms = 0; QString *qwf_language = 0; -bool qwf_execute_code = TRUE; +Q_EXPORT bool qwf_execute_code = TRUE; bool qwf_stays_on_top = FALSE; QString qwf_currFileName = ""; QObject *qwf_form_object = 0; -QString *qwf_plugin_dir = 0; +Q_EXPORT QString *qwf_plugin_dir = 0; static void setupPluginDir() { diff --git a/tools/designer/uilib/qwidgetfactory.h b/tools/designer/uilib/qwidgetfactory.h index daf5db6..220ab27 100644 --- a/tools/designer/uilib/qwidgetfactory.h +++ b/tools/designer/uilib/qwidgetfactory.h @@ -55,7 +55,7 @@ class QWidget; class QWidgetFactoryPrivate; class UibStrTable; -class QWidgetFactory +class Q_EXPORT QWidgetFactory { public: QWidgetFactory();