Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компиляция PyQt c помощью MinGW
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
QuiGon
Получилось так, что пришлось оставить на время Linux и попытаться стать счастливым пользователем Windows. Для начала необходимо было поставить Python и sip. Прошло все ок. Дошла очередь и до любимой библиотеки Qt, а имеена биндинго для python'a PyQt.
configure, make все ок.

теперь mingw32-make install
mingw32-make[1]: Entering directory `C:/Downloads/_Python/PyQt-win-gpl-4.3.3/QtGui'
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -shared -Wl,-subsystem,windows -Wl,-s -o QtGui.pyd sipQtGuicmodule.o sipQtGuiQMap.o sipQtGuiQVector.o sipQtGuiQWorkspace.o sipQtGuiQWidgetAction.o sipQtGuiQWhatsThis.o sipQtGuiQRegExpValidator.o sipQtGuiQDoubleValidator.o sipQtGuiQIntValidator.o sipQtGuiQValidator.o sipQtGuiQUnd
....
и т.д. целая страницы..
тут перечисляются все объектны файлы для сборки модуля QtGui

Слишком длинная входная строка. (The input line is too long)
mingw32-make[1]: *** [QtGui.pyd] Error 255
mingw32-make[1]: Leaving directory `C:/Downloads/_Python/PyQt-win-gpl-4.3.3/QtGui'
mingw32-make: *** [install] Error 2

В общем из-за того, что GtGui собирается из огромного числа модулей (что неудивительно) входная строка для MinGw получилась огромного размера, ос генерирует ошибку.

Как с этим быть? Просмотр форумов (в том числе англоязычных) не дал результатов. Проблема возникает у многих (не обязательно с PyQt), а решения нигде не нашел!

Дают вот такие рекомендации времен DOS'a
# Use shorter names for folders and files.
# Reduce the depth of folder trees.
# Store files in fewer folders so that fewer folders are
# required in the PATH environment variable.

Вот такая проблема! Единственный выход юзать Линукс? или все же можно как-то поднять предел количества символов входных строк в ОС?
И почему великая и могучая ОС не может справиться с простейшим заданием?
Litkevich Yuriy
я так понимаю, ОСь здесь не причем, в моей практике такие ошибки выпадали, когда е делал что-то не так.
теперь вопрос, ты уверен что нужно командовать ( mingw32-make install )?
это Юниксовый подход
QuiGon
Вот из README.TXT из PyQt. (Без инсталяции я не смогу подключать библитеку)

c:\python23\python configure.py

The next step is to build PyQt using your platform's make command.

make

The final step is to install PyQt by running the following command. (Depending
on your system you may require root or administrator privileges.)

make install
Litkevich Yuriy
ну значит в makefile написано: копировать туда-то, посмотри куда он копирует, да переложи руками.

P.S.
Я с PyQt не сталкивался, посему могу не понимать что там и как.
QuiGon
Цитата(Litkevich Yuriy @ 13.4.2008, 9:12) *
ну значит в makefile написано: копировать туда-то, посмотри куда он копирует, да переложи руками.


c копирование проблем нет :) можно и руками. Только дело в том, что _нечего_ копировать. Пока компилятор не соберет всю Qt(соберет именно для python) копировать нечего.
А собираются эти python-модули из большого числа Объектных файлов, которые "не влезают" в длину входной строки.
Litkevich Yuriy
полюбому все влезает, когда я сталкивался стакой ошибкой тоже сначало так думал, но GNU ничем, в этом плане, не лучше виндовоза.
Надо искать ошибку, это точно.
Litkevich Yuriy
а где ты его скачал, я на сайте тролей невижу соответствующего раздела
QuiGon
PyQt v4 GPL for Windows
http://www.riverbankcomputing.co.uk/pyqt/download.php
QuiGon
На счет ошибки маловероятно. Под Линуксом(версия PyQt для него) нормально собралась и проинсталлилась.
Tonal
Я собираю мингвой и sip, и PyQt, и QSintilla, и PyQwt - всё без проблем.
Какая ОС?
Если есть sh убери его из путей на время сборки.
Litkevich Yuriy
виндовоз у него, он указывал
Tonal
А кто его знае, мож он под 9х пытается компилить.
Разные люди бывають... :-)
QuiGon
Наконец - то скомпил. Всем спасибо. Пришла в голову хорошая мысль, что надо эти драгоценные символы экономить. (около 8000)
Если интересно, решил так: каждый sipQtGuicmodule.o переименовал в sQtGuicmodule.o. Файлов штук 100. Т.о. экономия окого 300-500 символов.
Потом эти файлы с новыми именами надо g++ скормить и все ок.
Tonal
Во матёрый человечище! :D
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.