need help with the .toml file. Not able to find the Qt headers

Phil Thompson phil at riverbankcomputing.com
Thu Apr 29 22:26:02 BST 2021


On 29/04/2021 20:04, Suman Chatterjee wrote:
> Hi,
>  I am writing a .toml file to generate the  Python bindings for a C++
> library like below
> 
> # Specify the build system requirements.
> [build-system]
> requires = ["sip >=5.3, <7", "PyQt-builder >=1.6, <2"]
> build-backend = "sipbuild.api"
> 
> # Specify the PEP 566 metadata for the project.
> [tool.sip.metadata]
> name = "ABC"
> version = "100.10"
> summary = "Python bindings for the ArcGIS Runtime library"
> home-page = "https://www.xxx.com"
> author = "xxx"
> 
> license = "GPL v3"
> requires-dist = "PyQt5 (>=5.15)"
> description-file = "README"
> 
> # Configure the building of the fib bindings.
> [tool.sip.bindings.ABC]
> 
> include-dirs = ["~/ABC_SDKs/Qt100.10/sdk/include"]
> 
> # Specify a PyQt-based project.
> [tool.sip]
> project-factory = "pyqtbuild:PyQtProject"
> # Configure the project.
> [tool.sip.project]
> tag-prefix = "ABC"
> 
> 
> Now when I run sip-install. I am getting the below error
> 
> 
> /Users/xxx/pythonBindingsEnv/lib/python3.9/site-packages/PyQt5/bindings/QtQuick/qquickitem.sip:26:10:
> fatal error: 'qquickitem.h' file not found
> 
> #include <qquickitem.h>
> 
>          ^~~~~~~~~~~~~~
> 
> 
> So my question is Do I need to copy all the QT headers files in a
> folder and add that in the Include-Dirs section of the .toml file. I
> have the Qt installation added to my PATH like as below
> 
> 
> export PATH=/usr/local/opt/qt/bin:$PATH
> 
> 
> But somehow it is not able to find them. But the similiar .toml file
> worked when I did for the QtCharts. Seems like if I include any other
> folder then it does not search in other paths.

include-dirs isn't used to find the Qt .h files. qmake is the bit that 
knows where they are. Run 'qmake -query' to see where it thinks they 
are. Also looking at the generated .pro and Makefiles may give you some 
clues.

Phil


More information about the PyQt mailing list