Вопросы новичка по Qt |
Здравствуйте, гость ( Вход | Регистрация )
Вопросы новичка по Qt |
Stitchi |
20.1.2009, 18:02
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 20.1.2009 Пользователь №: 499 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте сильно палками не байте, но у меня есть пара вопросов. Недавно стал изучать C++. Задался целью в учёбе использовать Qt. До этого все консольные программы я писал на VS2008 Express. Решил интегрировать Qt в VS, пришлось немного скачать софта, но всё удалось сейчас VS2008Prof + Qt 4.4.3 comm.
Вопросы: 1. Существует ли альтернативная среда(бесплатная), где удобно было бы использовать QT? 2. Программа написанная с помощью VS2008 + Qt имеет проблемы при переносе на Linux? 3. Есть ли минусы разработки программы под VS2008? 4. Как правильно скомпилировать программу (в VS 2008), для запуска на другом компьютере (без VS). В настройках проекта, C/C++, Generation code, переставил Realise, так же пробовал менять с MD на MT. Пишет, что нужны библиотеки QCore.dll*. Как их правильно подключить? 5. Под Linux лучше использовать KDevelop? Жду ответов, заранее спасибо. |
|
|
ViGOur |
20.1.2009, 18:10
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
1. Да, Eclipse + mingw + интегратор
2. Нет, если не привязываешься к windows api 3. Не видел 4. При динамической сборке Qt нужно с собой таскать библиотеки: QtCore, QtXml и ... Если не хочешь их с собой таскать, то нужна статическая сборка. 5. Ну почему же, можно тот же Eclipse, QDevelop или QtCreator. Сообщение отредактировал ViGOur - 20.1.2009, 18:11 |
|
|
AD |
20.1.2009, 18:13
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Здравствуйте сильно палками не байте, но у меня есть пара вопросов. Недавно стал изучать C++. Задался целью в учёбе использовать Qt. До этого все консольные программы я писал на VS2008 Express. Решил интегрировать Qt в VS, пришлось немного скачать софта, но всё удалось сейчас VS2008Prof + Qt 4.4.3 comm. Вопросы: 1. Существует ли альтернативная среда(бесплатная), где удобно было бы использовать QT? 2. Программа написанная с помощью VS2008 + Qt имеет проблемы при переносе на Linux? 3. Есть ли минусы разработки программы под VS2008? 4. Как правильно скомпилировать программу (в VS 2008), для запуска на другом компьютере (без VS). В настройках проекта, C/C++, Generation code, переставил Realise, так же пробовал менять с MD на MT. Пишет, что нужны библиотеки QCore.dll*. Как их правильно подключить? 5. Под Linux лучше использовать KDevelop? Жду ответов, заранее спасибо. 1) При инсталляции Qt, а не ручной сборки, Qt cобрана динамически. Т.е. Вам необходимо требуемые dll таскать с собой в том же каталоге, что и экзешник. При этом нужен манифест-файл и две библиотеки студийные: вот пример для VS2005 необходимых манифеста и длл-ок: Microsoft.VC80.CRT.manifest, msvcr80.dll, msvcp80.dll (для 2008 скорее всего последние цифры другие) 2) Проблем при переносе не м.б., потому что перенести нельзя. Для переноса Вам придется компилировать Ваше приложение кроссплатформенным компилятором. 3) Как я понял, лучшее под линукс - это MinGW32, GDB и консоль. А редактор можно разный прикрутить! |
|
|
SABROG |
20.1.2009, 18:17
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
1. Существует ли альтернативная среда(бесплатная), где удобно было бы использовать QT? QtCreator, Eclipse, QDevelop, CodeBlocks 2. Программа написанная с помощью VS2008 + Qt имеет проблемы при переносе на Linux? Обычно нет. 3. Есть ли минусы разработки программы под VS2008? Может быть проблема с компиляцией проекта под другими ОС, т.к. в разных компиляторах по разному реализован стандарт C++. В некоторых местах может быть не реализован вообще. Могут быть проблемы с asm вставками и препроцессорными дерективами (pragma), если такие использовались. Это относится больше уже не к самой библиотеке Qt, а к коду, который Вы можете написать своими руками. 4. Как правильно скомпилировать программу (в VS 2008), для запуска на другом компьютере (без VS). В настройках проекта, C/C++, Generation code, переставил Realise, так же пробовал менять с MD на MT. Пишет, что нужны библиотеки QCore.dll*. Как их правильно подключить? В интеграторе необходимо прописать пути к Qt. Затем нужно почитать Assistant, чтобы понять к каким классам, которые вы будете использовать, какие dll относятся. Тогда достаточно скопировать нужные .dll в папку с программой. Вообще об этом много раз писалось. Достаточно воспользоваться поиском. 5. Под Linux лучше использовать KDevelop? Если никогда не пользовались, то попробуйте разные, чтобы понять что вам милее. Я бы порекомендовал сначала обычный текстовый редактор и консоль, чтобы было представление как это все работает. В дальнейшем это может избавить от вопросов типа "почему компилятор не компилирует в моей любимой IDE". |
|
|
Stitchi |
20.1.2009, 18:20
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 20.1.2009 Пользователь №: 499 Спасибо сказали: 0 раз(а) Репутация: 0 |
А можно поподробней про манифест, читал с этого сайта, не понял. Если кто нибудь напишет небольшой мануал, будет вообще отлично.
|
|
|
AD |
20.1.2009, 18:25
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
А можно поподробней про манифест, читал с этого сайта, не понял. Если кто нибудь напишет небольшой мануал, будет вообще отлично. Тааак, тут небольшое разногласие возникло в формулировках! Уточняю, код программы перенести на другую платформу можно, если не использовать каких либо windows-зависимых вещей. А вот саму программу перенести не удасться. Manifest-файлы - это xml-файлы, в которых указывается какой-то код. Этот код одинаков для всех приложений. Указанный файл можно найти в папке для студии, как и сами dll! |
|
|
Stitchi |
20.1.2009, 18:36
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 20.1.2009 Пользователь №: 499 Спасибо сказали: 0 раз(а) Репутация: 0 |
Уточню насчёт первого пункта: "Под Windows".
Я и имел в виду исходный код. Просто у меня сейчас задача, как запустить программу, где нет VS. Компилировать с Realise, помогает если без Qt, и что нужно сделать (куда положить или при компиляции указать) чтобы эти файлы подгружались из директории с exe. Как я уже понял с exe файлы придётся всегда носить. |
|
|
AD |
20.1.2009, 18:42
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Просто у меня сейчас задача, как запустить программу, где нет VS. Компилировать с Realise, помогает если без Qt, и что нужно сделать (куда положить или при компиляции указать) чтобы эти файлы подгружались из директории с exe. Как я уже понял с exe файлы придётся всегда носить. не понял. Можно по-русски? Как скомпилировать код без установки Qt? В чем вопрос? |
|
|
trdm |
20.1.2009, 19:16
Сообщение
#9
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
Есть такая утилита, называется депенси волкер под винду.
Ею смотришь, какие dll-ки нужны программе, их с программой и таскаешь... |
|
|
void* |
20.1.2009, 19:22
Сообщение
#10
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
Просто у меня сейчас задача, как запустить программу, где нет VS. Компилировать с Realise, помогает если без Qt, и что нужно сделать (куда положить или при компиляции указать) чтобы эти файлы подгружались из директории с exe. Как я уже понял с exe файлы придётся всегда носить. смотришь какие длл-ки используются в проекте, сжимаешь каким-нибудь UPX-пакером(необязательно, просто меньше размер будет), например ASPack, но он только под винду, релиз-версии этих библиотек и ложишь их в одну папку с экзешниками и переносишь папку на другой комп и все. Сообщение отредактировал void* - 20.1.2009, 19:24 |
|
|
Текстовая версия | Сейчас: 15.1.2025, 16:52 |