![]() |
|
|
![]()
|
|
| Moby |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 6.10.2008 Репутация: нет Всего: нет |
Всем привет! Как многие уже поняли, из большого кол-ва созданных мною тем, я пишу в Visual Studio.
Проблема не загрузки картинки, когда в *.load() указываешь правильный адрес, почти решена. Надо специальные модули с собой таскать. Теперь возникла такая ситуация. Дома есть два ПК. На одном ХР, .Net 3.5, пишу на Visual Studio, там все запускается. На втором ПК где есть Vista, и если не ощибаюсь в Viste уже есть .Net 3.5, все так же нормально запускаеться, ну кроме загрузки рисунков. Теперь, когда запускаю на других ПК, где нет либо Vista, либо .Net 3.5 прога не запускается. "Причём тут .Net" - я подумал, ведь не на C# пишу. Потом подумал, что может это из-за среды разработки зависит. Ведь в моём случае я как раз использую Microsoft среду. А теперь внимание, два вопроса. 1 - Я правильно установил причину не запускания проги(из-за .Net 3.5)? 2 - Какую тогда использовать среду разработки? Дайте плиз ссылочку или хотя бы точно что нужно, ну там название, версия.... QDevelop или Eclipse или QCreator решат мою проблему кроссплатформености? |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
я думаю это не из-за .Net, что то слышал что если пишешь на VisualStudio то надо какието её dll-ки тоскать как и в случае с MinGW но неуверен точно, это скорее не из за среды которую используешь а из-за компилятора который исопльзует среда разработки. это дела вкуса попробуй все, оставь что понравится, я слышал что ещё можно NetBeans использовать, но опять же неуверен сам непробовал, я использую eclipse и иногда QDevelop, для маленьких приложений. Это сообщение отредактировал(а) ecspertiza - 26.1.2009, 16:01 |
|||
|
||||
| pan2004 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
pan2004 +1
|
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
У меня с gcc нет никаких проблем... XP, Vista - везде работает. Так что и Вам советую
|
|||
|
||||
| pan2004 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
Как сказать. А вот Qt::phonon не работает) нигде. Да и какая разница, тащить за собой микрософтовскую CRT или еще и mingwm10.dll в придачу(от первой можно избавится, а вот вторую не слинкуешь статически)? Одна длл.. Это сообщение отредактировал(а) pan2004 - 26.1.2009, 23:42 |
|||
|
||||
| Moby |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 6.10.2008 Репутация: нет Всего: нет |
Спасибо за ответы.
Я понимал, что дело конечно в компиляторе, а не в среде, но как я думал среда использует конкретный компилятор, вот и думал, что может от этого зависит, что мол Visual Studio использует что-то не то. Программку я соответственно делаю релизной версией. Первое что я попробовал, это потаскать за собой все MSVCRT*.dll. На ПК(в папке windows) нашёл несколько MSVCRT*.dll. Все их впихнул в папку с релиз версией. И оказалось, что они уже там были, ну большинство из них, только не видны были. Это не помогло. Теперь буду пробовать с gcc и icc. Вот тут возникает вопрос, а точнее пару. Какой из них подходит для Visual Studio, как я понял icc? И как интегрировать их\его в Visual Studio? |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Понимаешь студия здесь непричём, ты можешь компилить и из командной строки. Попробуй использовать gcc. Хотя это дело на любителя.
Это сообщение отредактировал(а) ecspertiza - 27.1.2009, 16:33 |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Если студия 2005 или выше, то это и не поможет. Уже ни раз писал в форуме по VC++. Если одним словом, надо таскать не длл-ки, а пакет VC++ 200x Runtime Redistributable. Он есть на диске со студией, например точно. И (при полной установке) в папочке со студией где-то тоже. Ну и, в конце концов, на сайте MS. |
|||
|
||||
| Moby |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 6.10.2008 Репутация: нет Всего: нет |
Любитель, помогло.
Только вот такой вопрос. Папку я не нашел. Я просто на другом ПК поставил VC++ 2008 Runtime Redistributable и все заработало. Где эта папка лежит? Но в целом это дело не решает, ну в моем понимании. Мне надо, что бы после компиляции релиз версии я мог смело дать кому угодно папку, ну запихнув предварительно нужные qt *.dll и модули. Как мне это сделать? Наверно надо "копать" в сторону компилятора. Объясните как мне интегрировать в Студию нужный компилятор и где его скачать? |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Нет. Если не хочешь ставить пакет выходов два:
1. Статик-линк (только для действительно маленьких приложений. 2. Длл-ки в папочке и хитрости с манифестами. Подробности - МСДН по поводу WinSxS. Вообщем менять компилятор - это странное решение (я не против gcc и icc - не в том дело, в данном случае нет никаких причин). |
|||
|
||||
| Torsten |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 10.6.2008 Где: Pskov Репутация: 3 Всего: 7 |
Проблема в динамических библиотеках.
Собирай всегда статически и проблем не будет, размер приложения сейчас не играет никакой роли, уже прошли те времени, когда каждый метр был на счету. --------------------
We have no begining, we have no end. We are infinite. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
И прощай поддержка плагинов в Qt? ;)
|
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Предлогаю сделай инсталяшку проекта, будешь всем раздовать по одному файлу Install.exe, попользуй софт Inno Setup. |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Предлогаю сделай инсталяшку проекта, будешь всем раздовать по одному файлу Install.exe, попользуй софт Inno Setup. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |