Operating system: Windows 10 64 bits
Slicer version: 4.8.1 (svn r26813)
Compiler: Microsoft Visual Studio Community 2015
Qt: 5.9.1
I’ve compiled the Slicer version 4.8.1 (svn 26813) without any errors and Slicer application works correctly. However if a extension is installed from Slicer extensions server, it is not showed in the menu “modules” and there are some errors:
Qt: Failed to extract plugin meta data from (each loadable modules in the extension)
On the other hand, If I compile the extension, and add the path in “additional module path” in menu “modules”, all loadable modules of the extension are loaded.
I have some questions:
If I’d like to add some new extensions (loadable modules) from the Slicer extension catalog in my compiled 3D Slicer, should I compile them?
If I’d like to use the install Slicer extension (extension server) in my compiled 3d Slicer, what environment should I set up? or is it impossible?
Right - for C++ shared libraries to be workable across builds you need to exactly match the compiler version and other settings described here (VS 2013 instead of 2015).
If you are already building your own slicer and your own extensions probably you could just make your own installers that would be compatible. Or you can submit your extension code and have it built on the factories so it would work with the slicer releases.
We’re in transition now - the current release 4.8.1 is still Qt4, but 4.9 (the nightly preview) and the upcoming 5.0 releases will use Qt5. It’s possible to make your code work with both, but if you are starting development now I’d suggest only supporting Qt5.