Python Pyside build.sh无法分析文件:../data/typesystem.xml
我正在学习本教程,在运行build.sh时,我将获得以下输出:Python Pyside build.sh无法分析文件:../data/typesystem.xml,python,qt,pyqt,pyside,Python,Qt,Pyqt,Pyside,我正在学习本教程,在运行build.sh时,我将获得以下输出: Fatal error: line=3, column=62, message=Failed to parse: 'typesystem_core.xml' Cannot parse file: ../data/typesystem.xmlWARNING: Failure to find: pyhybrid/pyhybrid_module_wrapper.cpp WARNING: Failure to find: pyhybrid
Fatal error: line=3, column=62, message=Failed to parse: 'typesystem_core.xml'
Cannot parse file: ../data/typesystem.xmlWARNING: Failure to find: pyhybrid/pyhybrid_module_wrapper.cpp
WARNING: Failure to find: pyhybrid/mainwindow_wrapper.cpp
在build.sh中,列出了以下目录:
QTGUI_INC=/Library/Frameworks/QtGui.framework/Versions/4/Headers
QTCORE_INC=/Library/Frameworks/QtCore.framework/Versions/4/Headers
QTTYPESYSTEM=/usr/local/share/PySide/typesystems
但我没有这些目录。Pyside、Qt和Python已安装。我在哪里可以找到typesystems,QtGui.framework/Versions/4/Headers/QtCore.framework/Versions/4/Headers?我不确定您使用的是什么操作系统,但假设您使用的是Linux(Ubuntu),应该在下面安装include头(假设Pyside和Qt是使用APT软件包管理器安装的) 或者,如果从源代码处执行:
QTGUI_INC=/usr/local/include/qt4/QtGui
QTCORE_INC=/usr/local/include/qt4/QtGui
对于QTTYPESYSTEM
目录,您需要安装libpyside dev
包build.sh
#!/usr/bin/env sh
PROJ_DIR=`pwd`
echo "Building hybrid project."
echo "Project root: " $PROJ_DIR
QT4TYPESYSTEM_DIR=`pkg-config --variable=typesystemdir pyside`
QT4HEADER_DIRS=`pkg-config --variable=includedir QtCore`:`pkg-config --variable=includedir QtCore`/..:`pkg-config --variable=includedir QtGui`
function step_app {
cd hybrid
qmake
make clean
make
cd $PROJ_DIR
}
function step_generate {
cd hybridpy
shiboken --include-paths=$PROJ_DIR/hybrid:$QT4HEADER_DIRS:/usr/include --typesystem-paths=$PROJ_DIR/data:$QT4TYPESYSTEM_DIR --output-directory=. --debug-level=medium $PROJ_DIR/data/global.h $PROJ_DIR/data/typesystem.xml
cd $PROJ_DIR
}
function step_wrap {
cd hybridpy
qmake
make clean
make
cd $PROJ_DIR
}
echo "Qt typesystem dir: $QT4TYPESYSTEM_DIR"
echo "Qt headers dir: $QT4HEADER_DIRS"
step_app
step_generate
step_wrap
桑克斯,这正是我需要的。但我有新问题。在SUBD中,发现没有C++类!找到循环依赖项!图表可在/tmp/qt_temp.T15161中找到,860个警告(0个已知问题)警告:未能找到:pyhybrid/pyhybrid_模块_wrapper.cpp警告:未能找到:pyhybrid/mainwindow_wrapper.cpp我认为这不是正常的“860个警告”。与typesystem中指定的类型“QPyTextObject”相同,但未定义。这可能会导致编译错误
#!/usr/bin/env sh
PROJ_DIR=`pwd`
echo "Building hybrid project."
echo "Project root: " $PROJ_DIR
QT4TYPESYSTEM_DIR=`pkg-config --variable=typesystemdir pyside`
QT4HEADER_DIRS=`pkg-config --variable=includedir QtCore`:`pkg-config --variable=includedir QtCore`/..:`pkg-config --variable=includedir QtGui`
function step_app {
cd hybrid
qmake
make clean
make
cd $PROJ_DIR
}
function step_generate {
cd hybridpy
shiboken --include-paths=$PROJ_DIR/hybrid:$QT4HEADER_DIRS:/usr/include --typesystem-paths=$PROJ_DIR/data:$QT4TYPESYSTEM_DIR --output-directory=. --debug-level=medium $PROJ_DIR/data/global.h $PROJ_DIR/data/typesystem.xml
cd $PROJ_DIR
}
function step_wrap {
cd hybridpy
qmake
make clean
make
cd $PROJ_DIR
}
echo "Qt typesystem dir: $QT4TYPESYSTEM_DIR"
echo "Qt headers dir: $QT4HEADER_DIRS"
step_app
step_generate
step_wrap