[PySide] Simple shiboken binding tutorial -- was PySide - Qt5 - Swig

Roman Lacko backup.rlacko at gmail.com
Wed Jan 16 08:38:27 CET 2013


Hi,

2013/1/16 ZHONG Zhu <Zhu.Zhong at alcatel-sbell.com.cn>

>  Thank you Roman, I completed all steps except for step 5.****
>
> **1.       **Some problem found. In step 3, in
> FooLibBinding\FooLibBinding.pro,  I should be using shiboken-python2.7.a
> but PySide Windows installer only installed shiboken-python2.7.lib. So I
> have to use MinGW to build Shiboken from source to get both
> libshiboken-python2.7.dll.a and libshiboken-python2.7.dll
>
I will try to generate the .a version of  shiboken-python2.7.lib so the
next version of PySide package will contain both .lib and .a versions.

> ****
>
> **2.       **After the “package” been generated, I tried to run
> foolib_test.py but failed.  Error message is like below. Then I used
> “Dependency Walker” to load foolib.pyd. It complains about QtCore4.dll.
> Error message is “Error: At least one module has an unresolved import due
> to a missing export function in an implicitly dependent module.” I checked
> and looks like QtCore4.dll shipped with PySide installer is based on Qt
> 4.8.2 but my local Qt C++ installation is Qt 4.8.1. Could this be the
> reason I can’t run foolib_test.py? Do I need to upgrade my Qt SDK to higher
> version like 4.8.4?****
>
> **
>
You can try to replace Qt DLLs from PySide with version you have installed
in system. I will try to regenerate the binding test with mingw...

>  **
>
> D:\BindingTest\FooLibBinding\package>foolib_test.py****
>
> Traceback (most recent call last):****
>
>   File "D:\BindingTest\FooLibBinding\package\foolib_test.py", line 1, in
> <module>****
>
>     from foolib import FooClass****
>
> ImportError: DLL load failed: The specified procedure could not be found.*
> ***
>
> ===============================****
>
> 1. Install PySide
> 2. Copy content of c:\Python27\Lib\site-packages\PySide to
> BindingTest\PySide folder
> 1. Compile FooLib project
> 2. Run FooLib\generate_binding.bat
> 3. Compile FooLibBinding project
> 4. Run FooLibBinding\make_package.bat
> 5. Go to generated folder "package" and run foolib_test.py****
>
> ** **
>
> *From:* Roman Lacko [mailto:backup.rlacko at gmail.com]
> *Sent:* Wednesday, January 16, 2013 12:07 AM
> *To:* ZHONG Zhu; pyside at qt-project.org
> *Subject:* Re: Simple shiboken binding tutorial -- was PySide - Qt5 - Swig
> ****
>
> ** **
>
> sorri, you also have to update the path where you have installed Qt on
> your system in files:
>
> pyside\include\PySide\pyside_global.h
> FooLib\generate_binding.bat****
>
> ** **
>
> ...replace this "c:\Qt\qt-4.8.4-msvc2010-x64" with your path****
>
> ** **
>
> ** **
>
> 2013/1/15 Roman Lacko <backup.rlacko at gmail.com>****
>
> btw, you need to update paths to python libs and includes in
> FooLibBinding\FooLibBinding.pro. I have installed python in c:\Python27_64.
> ****
>
> Also if you are using mingw, you will need to change the .lib extension to
> .a****
>
>
> INCLUDEPATH += ../pyside/include/PySide \
>     ../pyside/include/PySide/QtCore \
>     ../pyside/include/shiboken \
>     c:/Python27_64/include \
>     ../FooLib
>
> LIBS += c:/Python27_64/libs/python27.lib \
>     ../pyside/shiboken-python2.7.lib \
>     ../FooLib-build-Desktop-Release/release/FooLib.lib****
>
> ** **
>
> 2013/1/15 Roman Lacko <backup.rlacko at gmail.com>****
>
> Hi,****
>
> i have prepared the sample projects for you here [1]****
>
> Description:****
>
>
> This is sample demonstration how to generate simple bindings with shiboken
> python binding generator
>
> FooLib project contains the library for which we want to generate the
> bindings
> FooLibBinding project contains the generated binding sources
>
> Software used:
>
> Qt 4.8.4 MSVC 2010 64bit
> Python 2.7 64bit
> PySide 1.1.2 for Python 2.7 64bit
>
> To generate and test the bindigs do the following:
>
> 1. Install PySide
> 2. Copy content of c:\Python27\Lib\site-packages\PySide to
> BindingTest\PySide folder
> 1. Compile FooLib project
> 2. Run FooLib\generate_binding.bat
> 3. Compile FooLibBinding project
> 4. Run FooLibBinding\make_package.bat
> 5. Go to generated folder "package" and run foolib_test.py
>
> [1] BindingTest.zip -
> https://docs.google.com/file/d/0B0aOk3P0ndoLbkhwbWZncTlUM00/edit****
>
> ** **
>
> 2013/1/15 Roman Lacko <backup.rlacko at gmail.com>****
>
> I will prepare simple working package for you****
>
> ** **
>
> 2013/1/15 ZHONG Zhu <Zhu.Zhong at alcatel-sbell.com.cn>****
>
> Thank you for your kindly reply!****
>
> I was following this tutorial but just can’t build a working binding on
> Windows.****
>
> Do you have any experience on building the binding on Windows?****
>
>  ****
>
> *From:* Roman Lacko [mailto:backup.rlacko at gmail.com]
> *Sent:* Tuesday, January 15, 2013 4:46 PM
> *To:* ZHONG Zhu
> *Subject:* Re: [PySide] PySide - Qt5 - Swig****
>
>  ****
>
> I have used this tutorial to create my first bindings:
> http://qt-project.org/wiki/PySide_Binding_Generation_Tutorial. it
> contains downloadable package with full source.****
>
> regards****
>
> R.****
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20130116/2aaed4e8/attachment.html>


More information about the PySide mailing list