Hi Olivier, it took some time to recompile everything but it now works! Thank you very much for this valuable hint.
Best regards Hauke Am 02.07.2014 18:24, schrieb Olivier Goffart: > On Wednesday 02 July 2014 18:00:29 Hauke Krüger wrote: >> Hi everyone, >> >> I have created a mexFunction that allows to open QT dialogs etc in >> Matlab. What it does is to >> create a QT thread - which is not the main thread - and to allocate all >> dialogs within this thread. >> >> This principle works very well in Windows /Visual Studio but it does no >> longer work in Linux : >> Matlab 2014 comes along with the QT 4.8.xx libraries. If I load the >> mexFunction by calling the >> entry function, Matlab crashes. From the callstack I see that in the >> program flow, functions are addressed >> which are located in shared library libQt5Gui.so but as soon as some QT >> core functionalities are requested, >> a function is called which is located in libQtCore.so deployed in the >> context of QT4! >> >> It sems that in Microsoft Windows, each DLL is treated in a separate >> logical space making it impossible >> to call a function in the wrong library. In Linux, however, it seems >> that even when using shared libraries, >> all symbols are thrown into one pool of symbols and it is never sure >> which symbol is taken in a call. >> And there seem to be duplicate symbols in QT4 and QT5. >> >> Is there a chance to influence this behavior in Linux to achieve a >> behavior as that in Microsoft Windows? >> Does anyone have another idea for a work around? >> >> Ah, by the way, I tested also the LD_PRELOAD option to force use of >> Qt5Core library. In that case, Matlab >> crashes right after boot showing that it is the other way around: Matlab >> calls a QT4 function which finally >> ends up in libQt5Core.so. > You may solve this problem by compiling Qt within a different namespace. > (-qtnamespace option in Qt's configure) > _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
