Название: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: юрамеханик от Июнь 14, 2010, 15:11 Всем доброго времени суток!
ниже идет текст ненависти начинающего красноглазика (никогда не пользовавшимся юниксами при этом ) так что читать нужно только вопросы :) Начитался я всяких вкусностей про этот пресловутый кутэ , про сигналы слоты и про замену кутэ-sdk "мерзкому" VS решил попробовать по примерам книги Шлее написал небольшие приложения с кнопочками , полями ввода и тд и тп нажал кнопочку "собрать" все окей нажал кнопочку "запустить" все ОКЕЙ (приложение запустилось все пучком) ну я радостный полез в директорию где оно лежит и ,как вы догадались, оттудова оно не запускается! >:( попробовал примеры в папке кутэ , они естественно тоже не запускались я весь такой злой полез в интернет , нашел программу depends.exe нашел информацию что библиотеки надо таскать с собой нашел информацию как статически собрать саму библиотеку qt (в вики на вашем сайте) и как собирать статически сами приложения , естественно после двух часов сборки она вылетела с ошибкой.... так что пока на эти совокупления ради избавления от дополнительных файлов я плюнул сейчас же интересует три вопроса 1. ЧТО все таки происходит при нажатии кнопки "выполнить" ? каким образом он "приписывает" к исполняемому файлу все нужные библиотеки 2. есть ли в самом креаторе утилита которая показывает перечень всех путей откуда берутся нужные библиотеки при "выполнить" (я например по началу брал QtCore4.dll из С:\Qt\2010.03\bin а не из С:\Qt\2010.03\qt\bin а там другая версия или чего и программа не запускалась ) 3. есть ли класс в qt и примеры кода, тулза в креаторе или в mingw и примеры кода или сторонняя программа, которая(й) анализирует исполняемый файл (или исходные файлы!) , ищет на данной машине необходимые библиотеки и если их не находит то: уведомляет сообщением \сует нужные библиотеки (из "таскаемых" вместе с этим инструментом) в нужные директории а то как я понял если депедндс не видит какую то библиотеку , это не значит, что это единственная отсутствующая , поскольку я как понял он от этой длльки обращается к каким то еще , которых тоже может не быть то бишь когда я проверяю исполняемый файл, и добавляю недостающие библиотеки в каталог , то количество отсутствующих библиотек увеличивается как то хотелось бы избежать этой идиотской ручной рутинной работы всем спасибо! Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: GDV1981 от Июнь 14, 2010, 15:17 А что если просто прописать путь к нужным библиотекам в переменную PATH? Один раз, взять так и прописать ...
Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: ритт от Июнь 14, 2010, 17:15 Оо, текст ненависти...я так понимаю, ненависти к собственному невежеству, да? :)
1. кнопка "выполнить" креатора? тогда всё очень просто - соотв. бинарник запускается на выполнение, а если он ещё не собран, предварительно запускается сборка этого бинарника 2. нет и, надеюсь, никогда не будет 3. нет и, надеюсь, никогда не будет а про "идиотскую ручную рутинную работу" в народе очень правильно говорят: "дурная башка ногам покоя не даёт" Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: юрамеханик от Июнь 14, 2010, 20:05 А что если просто прописать путь к нужным библиотекам в переменную PATH? Один раз, взять так и прописать ... мне на каждом пк прописать в переменной PATH путь до qt на моем пк ?(шучу, но я конечно не против , лишь бы интернет всегда работал)не забывайте что программы должны (а в моем случае обязательно) запускаться на других машинах на которых известно лишь "да там винда стоит, xp помоему" только совокупляясь с qt узнал что подобные вещи надо делать ВРУЧНУЮ Оо, текст ненависти...я так понимаю, ненависти к собственному невежеству, да? :) 1. кнопка "выполнить" креатора? тогда всё очень просто - соотв. бинарник запускается на выполнение, а если он ещё не собран, предварительно запускается сборка этого бинарника 2. нет и, надеюсь, никогда не будет 3. нет и, надеюсь, никогда не будет а про "идиотскую ручную рутинную работу" в народе очень правильно говорят: "дурная башка ногам покоя не даёт" 1.фухх, сложновато для меня это пока чем "соответствующий бинарник" отличается от исполняемого файла лежащего в соответствующей директории прописанной в DESTDIR в .pro файле ? "предварительно запускается сборка этого бинарника" - он суёт исполняемый файл и все беблиотеки в одно место ? я правильно понял? , просто не понимаю что значит эта фраза в данном контексте 2.почему это плохо? 3.почему это плохо? и в чем в данном случае заключается "дурность" , то-есть как бы поступил нормальный программист у меня такое впечатление, что я не понимаю каких то элементарных основ, которые даже в хелпах\учебниках по qt не описаны :( хотелось бы все таки развернутого ответа ну или ссылки где он уже есть Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: юрамеханик от Июнь 14, 2010, 20:35 только сейчас заметил , не хочу предыдущее редактировать
1. кнопка "выполнить" креатора? тогда всё очень просто - соотв. бинарник запускается на выполнение, а если он ещё не собран, предварительно запускается сборка этого бинарника то что сперва происходит сборка "кнопочкой с молоточком " это я понял давно :D , но мне непонятно почему ВООБЩЕ происходит запуск , ибо запуск исполнительного файла "мышкой" дает совсем другой эффект Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: kuzulis от Июнь 14, 2010, 21:08 Цитировать и в чем в данном случае заключается "дурность" , то-есть как бы поступил нормальный программист у меня такое впечатление, что я не понимаю каких то элементарных основ, которые даже в хелпах\учебниках по qt не описаны Имхо, вы не понимаете вообще никаких основ. Читайте литературу. И Qt4 тут вообще ни при чем, т.е. рано вам это, бросьте вы это дело! :) Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: ритт от Июнь 14, 2010, 22:08 искать в http://www.prog.org.ru/board_48_0.html
разворачивание приложений под разными системами - проблема настолько избитая, что я и раздел тот модерировать перестал уже год - полтора как, наверное...и настолько тривиальная, что ваши эти "только совокупляясь с qt узнал что подобные вещи надо делать ВРУЧНУЮ" у меня пробуждают лишь желание материться...но я сдерживаюсь, как видите. как будто какая-нибудь ср???я дотнеть или мсвб не тянут никаких зависимостей и будто бы их не нужно разворачивать на целевой системе. одни только мелкософтовские .манифест-файлы чего стоят! в общем, много читать и мало спрашивать Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: shirushizo от Июнь 14, 2010, 22:41 только сейчас заметил , не хочу предыдущее редактировать Наверно, призапуске QtCreator используется путь к dll прописаный в нем же, а при запуске из директории операционная система ищет библиотеки там, где ей сказано?!ну ведь это же не ответ на вопрос то что сперва происходит сборка "кнопочкой с молоточком " это я понял давно :D , но мне непонятно почему ВООБЩЕ происходит запуск , ибо запуск исполнительного файла "мышкой" дает совсем другой эффект Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: ритт от Июнь 14, 2010, 23:14 м?я, ну, чего гадать-то? в настройках креатора сам ведь и указываешь куда установлен мингв, куда установлено кутэ - креатор лишь задаёт PATH для окружения сборки и выполнения на основе заданных настроек. укажи корявые настройки - так же точно них не будет компилиться и запускаться...или там магия, ёпт?
Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: shirushizo от Июнь 14, 2010, 23:33 м?я, ну, чего гадать-то? в настройках креатора сам ведь и указываешь куда установлен мингв, куда установлено кутэ - креатор лишь задаёт PATH для окружения сборки и выполнения на основе заданных настроек. укажи корявые настройки - так же точно них не будет компилиться и запускаться...или там магия, ёпт? Это был сарказм с намеком на высшую истину)Название: Re: что же происходит при нажатии кнопки "выполнить" в QtCreator (опять про dll) Отправлено: Joss от Июнь 16, 2010, 15:37 : нашел информацию как статически собрать саму библиотеку qt (в вики на вашем сайте) и как собирать статически сами приложения , естественно после двух часов сборки она вылетела с ошибкой....
Не естественно, на всех версиях у меня собиралось без проблем. Перечитайте описание сборки еще раз и соберите заново из чистых исходников. : но мне непонятно почему ВООБЩЕ происходит запуск , ибо запуск исполнительного файла "мышкой" дает совсем другой эффект Потому что пути к библиотекам не прописаны если Вы запускаете приложение не через Qt Creator. Пропишите пути или же киньте нужные библиотеки Qt (для релиза или дебага - разные) в папку где лежат остальные библиотеки (например, от "мерзкого" VS). Вы же не удивляетесь тому, что у Вас в системе присутствует Microsoft Visual C++ Redistributable? |