Форум сайта python.su
Доброго времени суток, форумчане. Наткнулся на проблему с которой никак не могу справиться. Шагал пошагово по этому примеру http://lynxline.com/superhybrids-part-2-now-qt-pyside/ , его аналогия на русском http://habrahabr.ru/post/120479/
И вот ведь незадача.
generatorrunner --generatorSet=shiboken \ ../data/global.h \ --include-paths=../hybrid:$QTCORE_INC:$QTGUI_INC:/usr/include \ --typesystem-paths=../data:$QTTYPESYSTEM \ --output-directory=. \ ../data/typesystem.xml
Done, 859 warnings (0 known issues) WARNING: Failure to find: pyhybrid/pyhybrid_module_wrapper.cpp WARNING: Failure to find: pyhybrid/mainwindow_wrapper.cpp make: *** Нет правила для сборки цели `pyhybrid/pyhybrid_module_wrapper.cpp', требуемой для `pyhybrid_module_wrapper.o'. Останов.
Офлайн
Просмотрел фаил проэкта проблема была в заглавных буквах вместо pyhybrid надо было PyHybrid.
Но на этом приключения не закончились. Компиляция плевалась ошибкой в mainwindow_wrapper.cpp что не может инклуднуть Python.h и python25compat.h. Я сделал конечно может жестковато может некрасиво и неправильно. Но я заменил в инклудах на полные пути к этим библиотекам, к стати в python25compat.h тоже пришлось вставлять путь к Python.h. Эту канавку перепрыгнули, и снова всё не слава богу.
получаю такую ошибку.
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lpython2.6 /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lpyside /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lshiboken collect2: ld returned 1 exit status make: *** [../libPyHybrid.so.1.0.0] Ошибка 1
Офлайн
Пытался повторить этот урок, используя python3. Ошибки привели меня к поисковику яндекса, который нашёл мне эту давнюю тему. Возможно, кого-то сюда вслед за мной принесёт, поэтому оставлю здесь исправленные под linux Mageia 5 файлы:
build.sh
#!/bin/sh cd hybrid qmake make cd .. cd hybridpy QTGUI_INC=/usr/include/QtGui QTCORE_INC=/usr/include/QtCore QTTYPESYSTEM=/usr/share/PySide/typesystems shiboken-3.4 \ ../data/global.h \ --include-paths=../hybrid:$QTCORE_INC:$QTGUI_INC:/usr/include \ --typesystem-paths=../data:$QTTYPESYSTEM \ --output-directory=. \ ../data/typesystem.xml qmake make cd .. rm -rf PyHybrid.so ln -s libPyHybrid.so PyHybrid.so
TEMPLATE = lib QT += core gui INCLUDEPATH += hybrid INCLUDEPATH += ../hybrid INCLUDEPATH += /usr/include/python3.4m INCLUDEPATH += /usr/include/shiboken INCLUDEPATH += /usr/include/PySide INCLUDEPATH += /usr/include/PySide/QtCore INCLUDEPATH += /usr/include/PySide/QtGui LIBS += -ldl -lpython3.4 LIBS += -lshiboken.cpython-34m LIBS += -lpyside.cpython-34m LIBS += -L.. -lHybrid TARGET = ../PyHybrid SOURCES += \ PyHybrid/pyhybrid_module_wrapper.cpp \ PyHybrid/mainwindow_wrapper.cpp \
Отредактировано leonid_10 (Июнь 15, 2016 17:39:43)
Офлайн