How do you know that they are "not seen or used"? Maybe they are in fact "seen" and when Qt tries to load them and looks for the plugin class and its entry point, it finds "MyNamespace::QWhatever" instead and has no idea what to do with that. As amleto is trying to tell you, you can't expect a version of Qt built with no namespace to be able to use parts of a Qt built with a namespace inside a DLL, because you have no way to tell Qt what namespace should be used there.my problem is that if using my qtnamespace modified frameworks i do a setLibraryPath toward the folder where those (namespace modified) xx.dylib are in my deployed version, they are not seen or used!!!
It is basic C++: the symbols MyClass::someMethod() and MyNamespace::MyClass::someMethod() are different and cannot be used interchangeably. In the first case MyClass::someMethod() is in the global namespace and should actually be written as ::MyClass::someMethod() to be strictly correct.
So if you are trying to load a DLL with Qt classes that are qualified by your namespace, and Qt is expecting the plugin classes and their entry points in that DLL to be in the global namespace, then your plugin methods do not match the expected names.
You can try putting a "using MyNamespace;" declaration somewhere in your source file before you try to load the DLL, maybe that will work. But by doing that, you make the idea of a namespace on your DLL irrelevant because the "using" statement basically tells C++ to import everything into the global namespace before trying to match symbols.
Bookmarks