Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.142.119.241] |
|
Сообщ.
#1
,
|
|
|
В принципе, qt "из коробки" всем меня устраивал, но вот, появилась идейка попробовать собрать qt с stlport. Собраться то собралось(между прочим, без особых проблем), но тот ужас, который получился после почти суточной сборки Qt(у меня сейчас есть доступ только к достаточно слабенькой машине) меня, мягко говоря поразил.
Проблема, значит в следующем: qt абсолютно пофиг на переменную среды QTDIR. Пути прописаны прямо в исполняемых файлах и библиотеках, причём абсолютные. Неповерив своим глазам, я полез в qt "из коробки": да, да - там тоже они прописаны и тоже абсолютные. Только количество файлов, в которых прописаны пути в коробочной версии меньше - только в qmake, qtcore4.dll и *.prl. Мне стало интересно, как же так? Переустановил коробочную версию - действительно, после распаковки есть стадии patching xxx.prl/patching qmake/patching core. Это нормально? Чего они хотели добиться этим? У меня шок, короче . Как это лечится не нашёл, да и вряд ли найду - если официальный установщик ничего лучшего, чем патчить бинарники не придумал, то куда уж мне . Удивило только то, что в собственно-собранной версии эти пути прописаны почти в каждом файле. Буду рад, если меня убедят в том, что в trolltech сидят не муд*ки и что сделали они ЭТО потому что иначе было "просто невозможно". |
Сообщ.
#2
,
|
|
|
где-то читал, что можно диру с либами прописать в PATH, и тогда все заработает.
|
Сообщ.
#3
,
|
|
|
Думаю, что это издержки коммерческой ориентации библиотеки. Меня тоже это удивило. Но, с другой стороны, это позволяет тебе не гемороиться с настройками переменных окружения. Хотя... Может быть это пережитки предыдущих версий, может быть еще что-то... С другой стороны, если конфигурировать и собирать QT непосредственно в той директории, откуда она будет использоваться - проблем не будет.
|
Сообщ.
#4
,
|
|
|
Цитата grustnoe @ где-то читал, что можно диру с либами прописать в PATH, и тогда все заработает. Заработают только нормальные проги, для которых нужны qt*4[d].dll. Что же касается qmake(у которого qmake.conf жестко прописан) или assistant(у которого папки с документацией прошиты) и остального - нифига работать не будет. Иначе говоря, при переносе в другую папку разрабатывать при помощи qt будет невозможно. Только если заново пересобирать в новой папке. Цитата Flex Ferrum @ Но, с другой стороны, это позволяет тебе не гемороиться с настройками переменных окружения. Flex, ну вот ты умный мужик, ну скажи чего проще, прописать одну переменную окружения или пропатчить с десяток бинарников? А ещё, такой вопрос напрашивается: термин "относительный путь" разработчикам из Trolltech неизвестен? Цитата Flex Ferrum @ С другой стороны, если конфигурировать и собирать QT непосредственно в той директории, откуда она будет использоваться - проблем не будет. Ага... знать бы про этот косяк до того, как потратил сутки-другие на сборку . Одна мысль осенила: Trolltech не позволяет случайно делать свои установщики для собственноручных билдов Qt? |
Сообщ.
#5
,
|
|
|
Кстати, по поводу сборки хинт - выкинь из сборки примеры, и все будет проходить быстрее.
|
Сообщ.
#6
,
|
|
|
Нашёл только ключик -fast для configure, но это к сборке отношения не имеет... Как выкидывать примеры не нашёл.
|
Сообщ.
#7
,
|
|
|
Цитата archimed7592 @ Проблема, значит в следующем: qt абсолютно пофиг на переменную среды QTDIR. Пути прописаны прямо в исполняемых файлах и библиотеках, причём абсолютные. QTDIR для программ использующих куте установлено. А вообще многие либы (да и программы) собираются с жесткой привязкой к путям (autoconf по параметрам сборки формирует .h файлик с путями и он вбилдивается) и в этом ничего плохого нет, никому в голову не взбредет перемещать файлы из /lib или /usr/lib. |
Сообщ.
#8
,
|
|
|
mrco, в *nix - да, никому в голову такое не придёт, но в винде... сам понимаешь .
Ладно, я написал в qt-interest... Кое-что посоветовали. Как решу эту проблему(или пойму, что она не решаема) - отпишусь. |