Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [QT 4] Проблема переноса программ на другие ПК, Зависимость от среды разработки? 
V
    Опции темы
Moby
Дата 26.1.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 6.10.2008

Репутация: нет
Всего: нет



Всем привет! Как многие уже поняли, из большого кол-ва созданных мною тем, я пишу в Visual Studio.

Проблема не загрузки картинки, когда в *.load() указываешь правильный адрес, почти решена. Надо специальные модули с собой таскать.

Теперь возникла такая ситуация.

Дома есть два ПК. На одном ХР, .Net 3.5, пишу на Visual Studio, там все запускается. 
На втором ПК где есть Vista, и если не ощибаюсь в Viste уже есть .Net 3.5, все так же нормально запускаеться, ну кроме загрузки рисунков.

Теперь, когда запускаю на других ПК, где нет либо Vista, либо .Net 3.5 прога не запускается.

"Причём тут .Net" - я подумал, ведь не на C# пишу. Потом подумал, что может это из-за среды разработки зависит. Ведь в моём случае я как раз использую Microsoft среду.

А теперь внимание, два вопроса.  smile 

1 - Я правильно установил причину не запускания проги(из-за .Net 3.5)?

2 - Какую тогда использовать среду разработки? Дайте плиз ссылочку или хотя бы точно что нужно, ну там название, версия.... QDevelop или Eclipse или QCreator решат мою проблему кроссплатформености?
PM MAIL ICQ   Вверх
ecspertiza
Дата 26.1.2009, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Цитата(Moby @  26.1.2009,  15:41 Найти цитируемый пост)
1 - Я правильно установил причину не запускания проги(из-за .Net 3.5)?


я думаю это не из-за .Net, что то слышал что если пишешь на VisualStudio то надо какието её dll-ки тоскать как и в случае с MinGW но неуверен точно, это скорее не из за среды которую используешь а из-за компилятора который исопльзует среда разработки.
 

Цитата(Moby @  26.1.2009,  15:41 Найти цитируемый пост)
2 - Какую тогда использовать среду разработки?


это дела вкуса попробуй все, оставь что понравится, я слышал что ещё можно NetBeans использовать, но опять же неуверен сам непробовал, я использую eclipse и иногда QDevelop, для маленьких приложений.

Это сообщение отредактировал(а) ecspertiza - 26.1.2009, 16:01


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
pan2004
Дата 26.1.2009, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 6
Всего: 9



1. NET тут совершенно не при чем. Во первых, убедись, что ты пытаешься переносить Release, но никак не Debug версию(дебаг версии библиотек(любых) как правило отсутствуют на компьютере обычного юзера и оч много весят). В случае C++ программы надо таскать за собой так называемый CRT(C(++) Runtime Library), обычно в виде длл(у микрософта это типа MSVCRT*.dll). Это зависит от компилятора. Однако, тк VStudio достаточно популярная среда разработки, какие-то версии этой длл всегда есть на компьютере Windows пользователя(сам сказал, что под Вистой все идет). Естественно, если длл старой версии, то работать не будет, придется тащить свою(и копировать при надобности в windows/system32).
Что можно сделать: а) посмотреть какие длл нужны программе, с помощью например dependency walkerа.
б) слинковать CRT статически - см опции проекта. В таком случае длл тащить за собой не надо будет.

2. Что ты перечислил, это все IDE, к кросплатформенности самих создаваемых приложений не имеющие ни малейшего отношения.
Например, их можно спокойно настроить для работы с майкрософтовским компилятором.
Для "кросплатформенности" надо по меньше использовать всякие расширения компилятора, и выбирать gcc(of course smile под Win это будет MinGW/Cygwin), или icc(имеется по меньшей мере версии под Вин и Линух). Но это компиляторы(те по сути консольные утилиты без всякого ГУИ), и второй насколько мне известно, спокойно интегрируется в Visual Studio. Под первый можешь выбрать любую из перечисленных тобой ИДЕ - они отличаются друг от друга только степенью паршивости smile (я не говорю, что есть чтото лучше, но, честно, ни одна из них далеко не идеал) и внешним видом.


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
ecspertiza
Дата 26.1.2009, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



pan2004 +1 smile , хорошо сказал.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Acer
Дата 26.1.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



У меня с gcc нет никаких проблем... XP, Vista - везде работает. Так что и Вам советую smile 
PM MAIL   Вверх
pan2004
Дата 26.1.2009, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 6
Всего: 9



Цитата(Acer @  26.1.2009,  19:33 Найти цитируемый пост)
У меня с gcc нет никаких проблем... XP, Vista - везде работает. 

Как сказать. А вот Qt::phonon не работает) нигде.
Да и какая разница, тащить за собой микрософтовскую CRT или еще и mingwm10.dll в придачу(от первой можно избавится, а вот вторую не слинкуешь статически)? Одна длл..

Это сообщение отредактировал(а) pan2004 - 26.1.2009, 23:42


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
Moby
Дата 27.1.2009, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 6.10.2008

Репутация: нет
Всего: нет



Спасибо за ответы.

Я понимал, что дело конечно в компиляторе, а не в среде, но как я думал среда использует конкретный компилятор, вот и думал, что может от этого зависит, что мол Visual Studio использует что-то не то.

Программку я соответственно делаю релизной версией.

Первое что я попробовал, это потаскать за собой все MSVCRT*.dll. На ПК(в папке windows) нашёл несколько MSVCRT*.dll. Все их впихнул в папку с релиз версией. И оказалось, что они уже там были, ну большинство из них, только не видны были. Это не помогло.

Теперь буду пробовать с gcc и icc.

Вот тут возникает вопрос, а точнее пару. 

Какой из них подходит для Visual Studio, как я понял icc?

И как интегрировать их\его в Visual Studio?
PM MAIL ICQ   Вверх
ecspertiza
Дата 27.1.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Понимаешь студия здесь непричём, ты можешь компилить и из командной строки. Попробуй использовать gcc. Хотя это дело на любителя.

Это сообщение отредактировал(а) ecspertiza - 27.1.2009, 16:33


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Любитель
Дата 27.1.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(Moby @  27.1.2009,  15:38 Найти цитируемый пост)
Первое что я попробовал, это потаскать за собой все MSVCRT*.dll. На ПК(в папке windows) нашёл несколько MSVCRT*.dll. Все их впихнул в папку с релиз версией. И оказалось, что они уже там были, ну большинство из них, только не видны были. Это не помогло.

Если студия 2005 или выше, то это и не поможет. Уже ни раз писал в форуме по VC++. Если одним словом, надо таскать не длл-ки, а пакет VC++ 200x Runtime Redistributable. Он есть на диске со студией, например точно. И (при полной установке) в папочке со студией где-то тоже. Ну и, в конце концов, на сайте MS.


--------------------
PM MAIL ICQ Skype   Вверх
Moby
Дата 27.1.2009, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 6.10.2008

Репутация: нет
Всего: нет



Любитель, помогло.

Только вот такой вопрос. Папку я не нашел. Я просто на другом ПК поставил VC++ 2008 Runtime Redistributable и все заработало.

Где эта папка лежит?

Но в целом это дело не решает, ну в моем понимании. Мне надо, что бы после компиляции релиз версии я мог смело дать кому угодно папку, ну запихнув предварительно нужные qt *.dll и модули. Как мне это сделать? 

Наверно надо "копать" в сторону компилятора. Объясните как мне интегрировать в Студию нужный компилятор и где его скачать?
PM MAIL ICQ   Вверх
Любитель
Дата 27.1.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Нет. Если не хочешь ставить пакет выходов два:
1. Статик-линк (только для действительно маленьких приложений.
2. Длл-ки в папочке и хитрости с манифестами. Подробности - МСДН по поводу WinSxS.

Вообщем менять компилятор - это странное решение (я не против gcc и icc - не в том дело, в данном случае нет никаких причин).


--------------------
PM MAIL ICQ Skype   Вверх
Torsten
Дата 27.1.2009, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 10.6.2008
Где: Pskov

Репутация: 3
Всего: 7



Проблема в динамических библиотеках.
Собирай всегда статически и проблем не будет, размер приложения сейчас не играет никакой роли, уже прошли те времени, когда каждый метр был на счету.
--------------------
We have no begining, we have no end. We are infinite.
PM MAIL   Вверх
Любитель
Дата 27.1.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



И прощай поддержка плагинов в Qt? ;)


--------------------
PM MAIL ICQ Skype   Вверх
ecspertiza
Дата 28.1.2009, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Цитата(Moby @  27.1.2009,  17:32 Найти цитируемый пост)
Мне надо, что бы после компиляции релиз версии я мог смело дать кому угодно папку, ну запихнув предварительно нужные qt *.dll и модули. Как мне это сделать? 


Предлогаю сделай инсталяшку проекта, будешь всем раздовать по одному файлу Install.exe, попользуй софт Inno Setup.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
ecspertiza
Дата 28.1.2009, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Цитата(Moby @  27.1.2009,  17:32 Найти цитируемый пост)
Мне надо, что бы после компиляции релиз версии я мог смело дать кому угодно папку, ну запихнув предварительно нужные qt *.dll и модули. Как мне это сделать? 

Предлогаю сделай инсталяшку проекта, будешь всем раздовать по одному файлу Install.exe, попользуй софт Inno Setup.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0791 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.