I'm also trying to build the latest pyside from GIT in windows using
visual studio 2008 (not express) partly using the createpackage.js. I
found some odd things:
1) I had to specify -G "NMake Makefiles" to force make to create a
Makefile and not a VS2010 or VS2008 solution.
2) Since "shiboken/tests/libsample/samplenamespace.h" contains an
"#ifndef _MSC_VER" to remove
"SampleNamespace::DerivedFromNamespace::SampleNamespace" I had to ifdef
away the usage of it in
"shiboken/tests/samplebinding/sample/sample_python.h".
3) I got loads of "ProtectedPolymorphicWrapperprotectedName_protected"
and "OtherDerivedWrapperclassName_protected" in
"shiboken/tests/samplebinding/sample", i.e. the class name got prepended
to the method name. Removing these makes it build and pass the tests.
Other than that I get the same error as Dan. Removing the case to call
"int registerTimer(int interval, QObject * object)" I get a little bit
further, but it fails on:
[ 2%] Building CXX object
PySide/QtCore/CMakeFiles/QtCore.dir/PySide/QtCore/qabstractitemmodel_wrapper.cpp.obj
qabstractitemmodel_wrapper.cpp
E:\dev\qt\pyside\build\pyside\PySide\QtCore\PySide\QtCore\qabstractitemmodel_wrapper.cpp(3394)
: error C2660: 'QAbstractItemModelWrapper::parent' : function does not
take 0 arguments
It seems to have a hard time differentiating between virtual and
non-virtual methods with the same name, e.g.:
virtual QModelIndex QAbstractItemModel::parent(const QModelIndex&
index ) const = 0
QObject* QObject::parent() const
and
int QAbstractEventDispatcher::registerTimer(int interval, QObject *
object)
virtual void QAbstractEventDispatcher::registerTimer(int timerId, int
interval, QObject * object) = 0
/Stefan
On 2010-11-09 16:22, Dan Halbert wrote:
On Monday, November 8, 2010 2:54pm, "Dan Halbert"<halb...@halwitz.org> said:
Scanning dependencies of target QtCore
[ 2%] Building CXX object
PySide/QtCore/CMakeFiles/QtCore.dir/PySide/QtCore/qabstracteventdispatcher_wrapper.cpp.obj
qabstracteventdispatcher_wrapper.cpp
...pyside-pkgsetup-0.4.2\modules\pyside\build\PySide\QtCore\PySide\QtCore\qabstracteventdispatcher_wrapper.cpp(999)
: error C2660: 'QAbstractEventDispatcherWrapper::registerTimer' : function does
not take 2 arguments
I am still trying to do a Windows build, and am stuck on the error above, which
does not fail in the Linux build.
In QAbstractEventDispatcher, registerTimer() is declared in an overloaded way:
int registerTimer(int interval, QObject *object);
virtual void registerTimer(int timerId, int interval, QObject *object) = 0;
Notice that one is virtual and one is not. The non-virtual one is implemented
in the corresponding qabstracteventdispatcher.cpp file.
QAbstractEventDispatcherWrapper is a shiboken-generated subclass of
QAbstractEventDispatcher, and declares registerTimer only as
virtual void registerTimer(int timerId, int interval, QObject * object);
The error above is due to these two lines:
(959) cppSelf =
(QAbstractEventDispatcherWrapper*)Shiboken::Converter<QAbstractEventDispatcher*>::toCpp(self);
...
(999) int cppResult = cppSelf->registerTimer(cppArg0,
cppArg1);
I don't know enough about shiboken and the vagaries of the generated C++ code
to diagnose this. If anyone has any clues, I would be grateful. I am using full
Visual Studio 2008 SP1, built against QT 4.7.0 and Python 2.6.6, and the latest
git head PySide sources, as of yesterday.
Dan
_______________________________________________
PySide mailing list
PySide@lists.openbossa.org
http://lists.openbossa.org/listinfo/pyside
_______________________________________________
PySide mailing list
PySide@lists.openbossa.org
http://lists.openbossa.org/listinfo/pyside