2011-12-23 58 views
0

我下面這個教程http://lynxline.com/superhybrids-part-2-now-qt-pyside/運行build.sh當我得到以下輸出:Pyside build.sh無法解析文件:../data/typesystem.xml

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都已安裝。我在哪裏可以找到類型系統,QtGui.framework/Versions/4/Headers/QtCore.framework/Versions/4/Headers?

回答

0

我不知道你使用的是什麼操作系統,但假設你使用Linux(Ubuntu的)時,包括頭應安裝(assuing Pyside和Qt使用APT包管理器安裝)

QTGUI_INC=/usr/include/qt4/QtGui 
QTCORE_INC=/usr/include/qt4/QtGui 

或者如果是從源完成:

QTGUI_INC=/usr/local/include/qt4/QtGui 
QTCORE_INC=/usr/local/include/qt4/QtGui 

對於QTTYPESYSTEM目錄,您需要安裝libpyside-dev

+0

Sanks,這正是我所需要的。但我有新問題。在build.sh \t找不到C++類! \t找到了循環依賴關係!圖形可以在/tmp/qt_temp.T15161找到 \t 完成後,860個報警(0已知問題) 警告:如果不找到:pyhybrid/pyhybrid_module_wrapper.cpp 警告:如果不找到:pyhybrid/mainwindow_wrapper.cpp 我不認爲這是正常的「860警告」。同名 類型'QPyTextObject'是在類型系統中指定的,但未定義。這可能會導致編譯錯誤 – user1113159 2011-12-23 23:16:30

0

構建.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