суббота, 3 ноября 2012 г.

pyside for ida pro 6.3 - part 2

Finally I built it !
I already posted patch for shiboken
This is patch for pyside from GIT:

*** libpyside\pysidemetafunction_p.h    Sat Nov 03 15:14:42 2012
--- F:\src\pyside\libpyside\pysidemetafunction_p.h    Tue Oct 16 22:31:37 2012
***************
*** 27,33 ****
--- 27,35 ----
  #include <QList>
  #include <QByteArray>
 
+ QT_BEGIN_NAMESPACE
  class QObject;
+ QT_END_NAMESPACE
 
  namespace PySide { namespace MetaFunction {

*** libpyside\signalmanager.h    Sat Nov 03 15:14:42 2012
--- F:\src\pyside\libpyside\signalmanager.h    Tue Oct 16 22:31:06 2012
***************
*** 30,36 ****
--- 30,38 ----
  #include <QMetaMethod>
  #include <QMetaType>
 
+ QT_BEGIN_NAMESPACE
  class QObject;
+ QT_END_NAMESPACE
 
  namespace PySide
  {
*** tests\pysidetest\testview.h    Sat Nov 03 15:14:44 2012
--- F:\src\pyside\tests\pysidetest\testview.h    Tue Oct 16 22:50:26 2012
***************
*** 7,15 ****
--- 7,17 ----
  #endif
  #include "pysidemacros.h"
 
+ QT_BEGIN_NAMESPACE
  class QWidget;
  class QAbstractListModel;
  class QAbstractItemDelegate;
+ QT_END_NAMESPACE
 
  class PYSIDE_API TestView : public QObject
  {

*** PySide\phonon\pyside_phonon.h    Sat Nov 03 15:14:39 2012
--- F:\src\pyside\PySide\phonon\pyside_phonon.h    Sat Nov 03 13:45:38 2012
***************
*** 4,9 ****
--- 4,10 ----
  #include <QObject>
  #include
<phonon/backendcapabilities.h>
 
+ QT_BEGIN_NAMESPACE
  namespace Phonon
  {
  namespace BackendCapabilities
*************** namespace BackendCapabilities
*** 35,39 ****
      };
  }
  }
!
  #endif
--- 36,40 ----
      };
  }
  }
! QT_END_NAMESPACE
  #endif

Also you must edit PySide\QtCore\PySide\QtCore\qtcore_module_wrapper.cpp file (or PySide\QtCore\typesystem_core_common.xml before start of building):  

QT_BEGIN_NAMESPACE
    extern bool
    qRegisterResourceData(int,
                        const unsigned char *,
                        const unsigned char *,
                        const unsigned char *);

    extern bool
    qUnregisterResourceData(int,
                            const unsigned char *,
                            const unsigned char *,
                            const unsigned char *);
QT_END_NAMESPACE
    // End of code injection

4 комментария:

  1. Here are strange file paths in your patch. Don't you use git diff to create patches?

    ОтветитьУдалить
  2. Could you share your precompiled PySide binaries for IDA :) ?

    ОтветитьУдалить
    Ответы
    1. I don`t see much of sense in sharing this *.pyd files bcs they highly depend on ida pro/python/qt version and building options
      Also you can download pyside for your version of ida pro here

      Удалить