From a895edf30ec65e2ba06ef6fb39ec9fee225ffe31 Mon Sep 17 00:00:00 2001 From: Guido Ranzuglia granzuglia Date: Wed, 18 Jul 2012 16:56:06 +0000 Subject: [PATCH] - resolved mac/linux bug on missing plugins name preamble (i.e. in mac filter_mutualinfo.xml -> libfilter_mutualinfo.dylib in linux libfilter_mutualinfo.so in windows filter_mutualinfo.dll) --- src/common/pluginmanager.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/common/pluginmanager.cpp b/src/common/pluginmanager.cpp index ccd7dd3d5..406b88aa1 100644 --- a/src/common/pluginmanager.cpp +++ b/src/common/pluginmanager.cpp @@ -19,6 +19,17 @@ static QString DLLExtension() { return QString(); } +static QString DLLFileNamePreamble() { +#if defined(Q_OS_WIN) + return QString(""); +#elif defined(Q_OS_MAC) + return QString("lib"); +#else + return QString("lib"); +#endif + assert(0 && "Unknown Operative System. Please Define the appropriate dynamic library preamble"); + return QString(); +} PluginManager::PluginManager() :currentDocInterface(NULL),scriptplugcode() @@ -305,7 +316,7 @@ void PluginManager::loadXMLPlugin( const QString& fileName ) if (fin.suffix() == "xml") { - QString dllfile = fin.completeBaseName() + "."+DLLExtension(); + QString dllfile = DLLFileNamePreamble() + fin.completeBaseName() + "."+DLLExtension(); MeshLabXMLFilterContainer fc; //fc.filterInterface = NULL;