Russian Qt Forum
Ноябрь 24, 2024, 06:57
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
[РЕШЕНО]Требуемые файлы для запуска программы
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [РЕШЕНО]Требуемые файлы для запуска программы (Прочитано 19869 раз)
twp
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #15 :
Март 12, 2013, 14:12 »
Цитата: Bepec от Март 11, 2013, 21:14
Как вы, милостивый государь, отследите динамически подключающуюся дллку?
Да, depends её не видит. Да, её нет в зависимостях exe. Да, программа не падает, просто не запускается.
Цитата: Bepec от Март 12, 2013, 06:58
Кхм. Нигде я не писал, что он не видит QtCore с которым он слинкован
Я и писал про плагины, которые являются файлами, надо же, динамических библиотек аля qgif4.dll и прочая
Зависимости можно отследить только те, что слинкованы с проектом.
ИМХО тут противоречие самому себе. А на счет ошибки загрузки плагина. Я же выше написал - при ошибке загрузки плагина приложение выдает ворнинг наподобие этого
Цитировать
~/work/qt5/qtbase/examples/widgets/widgets/analogclock$ ./analogclock -platform windows
Failed to load platform plugin "windows". Available platforms are:
eglfs (from /usr/local/Qt-5.0.1/plugins/platforms)
kms (from /usr/local/Qt-5.0.1/plugins/platforms)
linuxfb (from /usr/local/Qt-5.0.1/plugins/platforms)
minimal (from /usr/local/Qt-5.0.1/plugins/platforms)
minimalegl (from /usr/local/Qt-5.0.1/plugins/platforms)
wayland-egl (from /usr/local/Qt-5.0.1/plugins/platforms)
wayland (from /usr/local/Qt-5.0.1/plugins/platforms)
wayland-xcomposite (from /usr/local/Qt-5.0.1/plugins/platforms)
xcb (from /usr/local/Qt-5.0.1/plugins/platforms)
eglfs
kms
linuxfb
minimal
minimalegl
wayland-egl
wayland
wayland-xcomposite
xcb
Записан
Bepec
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #16 :
Март 12, 2013, 14:33 »
Ох tpw. динамическая
динамически подключаемая
библиотека и динамическая
слинкованная
библиотека - это БОЛЬШАЯ разница
Читать надо чужие цитаты
Потому что первая независима. А вторая намертво забита в зависимостях екзешника.
Список слинкованных легким касанием клавиатуры получается из файла. Динамическую определить нельзя, если нет оповещения.
Я не знаю как и под чем вы запускали своё неизвестно что
И где у вас выдаёт варнинг
Запущенная GUI программа под виндой не выдаёт никаких сообщений в консоль, если не произвести жуткие экзекуции в коде программы со специальным подключением консоли.
PS судя по выводу и флагам запуска, вы запускаете пример в линуксе с параметром командной строки с явным указанием платформы. Просто интересно, если запустить просто - он выдаст такой же вывод?
Записан
twp
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #17 :
Март 12, 2013, 14:58 »
Цитата: Bepec от Март 12, 2013, 14:33
Ох tpw. динамическая
динамически подключаемая
библиотека и динамическая
слинкованная
библиотека - это БОЛЬШАЯ разница
Читать надо чужие цитаты
Ну как бы
DLL (англ. dynamic-link library — «библиотека динамической компоновки», «динамически подключаемая библиотека»)
Цитата: Bepec от Март 12, 2013, 14:33
PS судя по выводу и флагам запуска, вы запускаете пример в линуксе с параметром командной строки с явным указанием платформы. Просто интересно, если запустить просто - он выдаст такой же вывод?
Нет, если не указывать имя платформы, то по умолчанию загрузится плагин xcb. А разве на винде не выдает ворнинг?
Записан
Bepec
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #18 :
Март 12, 2013, 15:51 »
Увы, консоль в винде не настолько хороша
И чтобы её подключить необходимо написать небольшую простыню кода в программе
ну я ж выделил слова, блин...
Цитировать
динамическая
динамически подключаемая
библиотека и динамическая
слинкованная
библиотека
Динамически подключаемая = подключается непосредственно в коде, руками программиста. И упоминание о ней не найдёшь в файле.
Слинкованная = в файле exe прописаны библиотеки, необходимые для запуска программы. Их список спокойно считывается из файла тем же депендеци валкером.
Записан
twp
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #19 :
Март 12, 2013, 16:34 »
Цитата: Bepec от Март 12, 2013, 15:51
Увы, консоль в винде не настолько хороша
И чтобы её подключить необходимо написать небольшую простыню кода в программе
Лол, што? Т.е. с консоли приложение запустить нельзя?
И если надо подключить консоль просто достаточно добавить
CONFIG += console
в pro-файл, это тоже большая проблема, ага
Цитата: Bepec от Март 12, 2013, 15:51
ну я ж выделил слова, блин...
Цитировать
динамическая
динамически подключаемая
библиотека и динамическая
слинкованная
библиотека
Динамически подключаемая = подключается непосредственно в коде, руками программиста. И упоминание о ней не найдёшь в файле.
По ходу ты путаешься в понятиях.
Есть всего два вида библиотек - динамические и статические. Со статическими все понятно. А вот динамическая библиотека может быть загружена в адресное пространство приложения двумя способами:
1. Самой ОС в процессе старта приложения
2. В течения выполнения приложения посредством QLibrary, либо через QPluginLoader, если для dll определен соответсвующий интерфейс. В этом случае нельзя определить зависимость приложения от dll
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #20 :
Март 12, 2013, 17:10 »
Цитата: twp от Март 12, 2013, 16:34
Лол, што? Т.е. с консоли приложение запустить нельзя?
И если надо подключить консоль просто достаточно добавить
CONFIG += console
в pro-файл, это тоже большая проблема, ага
А без креатора на Вындоуз, напр в MSVC? А то пишешь printf - а он нигде не печатает
Цитата: twp от Март 12, 2013, 16:34
По ходу ты путаешься в понятиях.
...
2. В течения выполнения приложения посредством QLibrary, либо через QPluginLoader, если для dll определен соответсвующий интерфейс. В этом случае нельзя определить зависимость приложения от dll
А без QLibrary или QPluginLoader никак нельзя?
Записан
Bepec
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #21 :
Март 12, 2013, 17:25 »
Кхм. twp.
Да, не выводит
Бедные мы виндузятники.
Сама ОС ничего не подгружает
Подгружает именно экзешник твой ) По таблице импорта функций вроде, если не ошибаюсь
И именно из таблицы зависимости видны
Это слинкованная библиотека
Заметь, я тебе специально цитату привожу в третий раз. Прочитай её пожалуйста
Цитировать
динамическая
динамически подключаемая
библиотека и динамическая
слинкованная
библиотека
Разберём цитату.
Встречается понятие динамическая библиотека. А давай его в конец поместим. Получится 2 типа:
1) динамически подключаемая;
2) слинкованная.
И это тип подключения
При этом понятие одно и то же - динамическая библиотека
PS если и этот разбор цитаты ты не осилишь, я не буду с тобой спорить
Итак уже развели демагогию
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #22 :
Март 12, 2013, 17:42 »
А помнится был и третий вариант, опция называлась типа "Weak Import". Нашли либу - хорошо, грузим. Нет - все равно запускаемся. Конечно надо было провериться на наличие, но в принципе было довольно удобно (без кучи оберток)
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #23 :
Март 12, 2013, 17:49 »
Цитата: Igors от Март 12, 2013, 17:10
А без креатора на Вындоуз, напр в MSVC? А то пишешь printf - а он нигде не печатает
запускать в дебаг режиме, я других способов не знаю
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Hellraiser
Бывалый
Offline
Сообщений: 451
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #24 :
Март 12, 2013, 18:48 »
Цитата: Igors от Март 12, 2013, 17:10
А без креатора на Вындоуз, напр в MSVC? А то пишешь printf - а он нигде не печатает
А окно "Вывод" (для русской версии) в MSVS уже поломалось? Вообще-то, когда Qt-программа сыпет сообщения, к примеру, о невозможности коннекта, то все попадает именно туда.
P.S. Запускать надо в режиме отладки, даже для релизной версии.
«
Последнее редактирование: Март 12, 2013, 19:00 от Hellraiser
»
Записан
twp
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #25 :
Март 12, 2013, 18:58 »
Цитата: Igors от Март 12, 2013, 17:10
А без креатора на Вындоуз, напр в MSVC? А то пишешь printf - а он нигде не печатает
Это работает и в студии если сгенерировать VS проект из pro-файла.
Можно и самому это сделать, нужно только указать теже параметры проекта, что генерит qmake для vcproj.
Цитата: Igors от Март 12, 2013, 17:10
А без QLibrary или QPluginLoader никак нельзя?
можно конечно. на винапи это LoadLibraryEx.
Записан
twp
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #26 :
Март 12, 2013, 19:03 »
Цитата: Bepec от Март 12, 2013, 17:25
Кхм. twp.
Да, не выводит
Бедные мы виндузятники.
Походу бедный только ты тут один
И да, найди ка мне описание
динамическая слинкованная библиотека
, джедай ты наш
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #27 :
Март 12, 2013, 19:15 »
Цитата: twp от Март 12, 2013, 18:58
можно конечно. на винапи это LoadLibraryEx.
С последующим GetProcAddress. Так что это не заслуга QLibrary/QPluginLoader
Цитата: Hellraiser от Март 12, 2013, 18:48
А окно "Вывод" (для русской версии) в MSVS уже поломалось? Вообще-то, когда Qt-программа сыпет сообщения, к примеру, о невозможности коннекта, то все попадает именно туда.
P.S. Запускать надо в режиме отладки, даже для релизной версии.
Вопрос был без креатора. Сообщения-то там (в IDE) есть, но назначить туда стандартный вывод просто так не удается, потому что приложение "не консольное". Можно печатать в IDE какой-то дебажной ф-цией, но это страшно неудобно. Приходится передирать примерчик (довольно мутный), тогда на запуске появляется еще одно (черное) окно приложения и в него идет print. Ну правда и в релизе работает, но все равно невдобняк.
В общем, насчет вындозной консоли
Верес
прав, тут его затюкали незаслуженно
Записан
Bepec
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #28 :
Март 12, 2013, 19:30 »
Да twp тролль
Он не может прочитать полностью двух предложений, к сожалению
Не буду его больше кормить
Но всё же странно они сделали, Qt-тролли. Хоть бы предупреждение выдавали
Записан
twp
Гость
Re: [РЕШЕНО]Требуемые файлы для запуска программы
«
Ответ #29 :
Март 12, 2013, 21:22 »
Цитата: Igors от Март 12, 2013, 19:15
С последующим GetProcAddress. Так что это не заслуга QLibrary/QPluginLoader
Понятное дело, но тут тред по Qt, а не по винапи, и тем более не о тонкостях загрузки dll в виндоуз.
Цитата: Igors от Март 12, 2013, 19:15
В общем, насчет вындозной консоли
Верес
прав, тут его затюкали незаслуженно
Согласен что виндовая консоль это не терминал линкуса, но получить отладочный вывод на консоль не должно быть большой проблемой.
Верес, ты ж меня тыкал носом в
Цитировать
динамически подключаемая библиотека и динамическая слинкованная библиотека
ну вот я хотел узнать у великого джедая, что есть "динамическая слинкованная библиотека". А ты съехал и обвинил меня в троллинге. Ну да, ты ж великий джедай, можно и не отвечать, хуле
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...