metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-02-12 06:58 pm

Qt Сreator

Поставил себе сабж, посмотреть чо за оно. Как обычно, первая операция после установки - проверить, нужно ли его инсталлировать, или можно ставить простым копированием (у меня рабочих мест много, инсталлировать влом и вообще я стараюсь проги ставить так, чтобы они переживали умирание винды).
Так вот фиг. Причем фиг такой, коего я еще не видел.
При установке оно патчит часть собственных файлов, прописывая ЯВНО внутрь бинарника путь куда их инсталлировали. Посему копируй, не копируй - оно будет искать свои файл там куда его ставили.

Лечится это запуском хитрого бинарника:
qtlibspatcher.exe новый_путь_к_qt_внутри_инсталляции
который патчит все бинарники новым путем.

Нашел только что случайно, после копания в исходниках qt и qt creator - отследил откуда берется путь, а потом случайно обнаружил обращение к нему в функции с характерным названием "patchBinaryWithQtPathes" :)

Если бы я не был пнем - я прочитал имя бинарника сразу, а не только сейчас, потому что мне постоянно мерещилось название типа "dispatcher" а не "patcher".

А, так вот, о чем это я? Исходники qt creator и qt достаточно хорошо читабельны.

PS: Гугл воще не находит такие имена, нигде. Такое ощущение что вопросом переноса в другую папку Qt Creator озаботились только разработчики, а использовал эту хрень только я.

[identity profile] theiced.livejournal.com 2009-02-12 06:57 pm (UTC)(link)
Ребе, я вам про это уже несколько месяцев кричу ;)

Вот - и что показательно, если умного человека заставить таки посмотреть на кутю, то она гарантированно ему понравится. Обратных примеров пока не было.

По теме - ставьте её в C:\Qt и переносите куда угодно на такой же C:\

[identity profile] metaclass.livejournal.com 2009-02-12 07:20 pm (UTC)(link)
Не, с путями я чего-нибудь другое сделаю. Или бинарники патчить их родным тулом, или там вроде есть способ пути захардкоженные переопределить в qt.conf, я еще не доразобрался.
Я очень люблю независимые от пути приложения (цель - запуск по сети с одной виндовой шары, ношение на флешках и прочий чисто виндовый неадекват).

[identity profile] vp.livejournal.com 2009-02-12 07:56 pm (UTC)(link)
на C нельзя. Это системный диск, не связанный с прикладными прогами, он постоянно бэкапится, всякие QT там идеологически чужды

[identity profile] no-mad.livejournal.com 2009-02-12 09:27 pm (UTC)(link)
можно. NTFS и symbolic link куда угодно.