Binary Compatibility: What compiler version to build Pyside2 then SpliceMaya for Maya 2017

AhmidouAhmidou Posts: 179 ✭✭
edited March 8 in General

Hi,
So I need to build Canvas for Maya 2017 which is using Pyside2, but I'm not sure which one I'm supposed link against for FabricUI.

-Native Python-2.7 is built against VS-2008 and I'm not sure it's possible to build Qt5 and Pyside2 with 2008.

-Maya2017 have it's own Python-2.7 and PySide2 built against VS-2012. They are providing
the libs, but strangely not the headers.....

-FabricUI is built against VS-2013 (from the repo's readme). Should I build Python 2.7 and Pyside with VS-2013?

I would say the Maya one, but as those includes are not provided:

include/PySide2
include/PySide2/QtCore
include/PySide2/QtGui
include/PySide2/QtOpenGL
include/PySide2/QtWidget

Then should I build Pyside2 with VS-2012?
Am I right?

Thanks

Answers

  • StephenTStephenT Fabric for MotionBuilder Posts: 77

    Hey Ahmidou

    Not sure if this is still a question, but...

    In general, you only need to match compiler compatibility with static libraries that you import. FabricUI is a static lib, so if you want to use it you'll need to use VS2013

    Libraries that link dynamically can be mix-and-match. Well behaved binaries* will not have a problem with if they are compiled with different versions of VS. Whether you link vs Maya's libs or the standard ones it shouldn't make too much of a difference.

    I would be surprised if Maya had changed the interface to either Python or PySide - thats a tonne of work, and rather risky. Most likely they recompiled simply to upgrade the compiler version to match Maya, and you shouldn't too much difficulties using public headers & maya libs**.

    You shouldn't need to recompile Python (or Pyside?) unless you really want to? Just use publicly available binaries. You can download debugging symbols for both of those (I think) if thats what your after.

    (* well behaved libraries don't use STL or have memory operations that cross Dll boundaries)
    (** Don't quote me on that. Another possible scenario is to create a specific interface to the QApplication from PySide to allow SxS instances of Qt running.)

Sign In or Register to comment.