Как собрать игру, что бы запустить на других компьютерах.
От: Conso  
Дата: 28.05.11 14:09
Оценка:
Добрый день.
У меня такая проблема — написал небольшой квест. Он компилируется и запускается только на одном компьютере. На других прости дополнительные библиотеки (libgcc_s_dw2-1.dll, libstdc++-6.dll, glew32.dll). Я их нашел и скачал, но приложение запускается и вылетает с ошибкой — "Приложение будет закрыто". Использовал openGL и freeglut, компилятор MinGW и IDE — Eclipse.
Вроде поможет статическая сборка, но как ее сделать в эклипсе? Заранее благодарен.
Re: Как собрать игру, что бы запустить на других компьютерах
От: Abyx Россия  
Дата: 28.05.11 14:56
Оценка: -8
Здравствуйте, Conso, Вы писали:

C>Добрый день.

C>У меня такая проблема — написал небольшой квест. Он компилируется и запускается только на одном компьютере. На других прости дополнительные библиотеки (libgcc_s_dw2-1.dll, libstdc++-6.dll, glew32.dll). Я их нашел и скачал, но приложение запускается и вылетает с ошибкой — "Приложение будет закрыто". Использовал openGL и freeglut, компилятор MinGW и IDE — Eclipse.
C>Вроде поможет статическая сборка, но как ее сделать в эклипсе? Заранее благодарен.

"у меня MSVC и всё работает"
я извиняюсь за флейм, но не могу не отметить что опенсорсный гцц это конечно круто и может даже кроссплатформенно (.dll?), но если вы не можете его осилить, то зачем за него браться? А если взялись — то зачем плакаться на форумах что ниасилили? Читайте документацию. Любите опенсорс — читайте исходники.

зачем вообще браться за гцц если не знаете "как сделать статическую сборку в эклипсе"?
зачем вообще юзать этот гцц+эклипс, если при появлении вашей ошибки вы не можете посмотреть в отладчике что произошло в программе?
In Zen We Trust
Re[2]: Как собрать игру, что бы запустить на других компьюте
От: Conso  
Дата: 28.05.11 20:15
Оценка:
Здравствуйте, Abyx, Вы писали:

A>"у меня MSVC и всё работает"

A>я извиняюсь за флейм, но не могу не отметить что опенсорсный гцц это конечно круто и может даже кроссплатформенно (.dll?), но если вы не можете его осилить, то зачем за него браться? А если взялись — то зачем плакаться на форумах что ниасилили? Читайте документацию. Любите опенсорс — читайте исходники.

A>зачем вообще браться за гцц если не знаете "как сделать статическую сборку в эклипсе"?

A>зачем вообще юзать этот гцц+эклипс, если при появлении вашей ошибки вы не можете посмотреть в отладчике что произошло в программе?

Я вроде не писал что не могу его осилить. Да и плакаться я не начинал. Если честно, я не так давно программирую под гцц, и многого не знаю. Просто задал вопрос, в надежде на подсказку.

Что Вы хотели сказать сообщением написанным именно в такой форме?
Re: Как собрать игру, что бы запустить на других компьютерах
От: Alexey F  
Дата: 28.05.11 20:28
Оценка: 2 (1)
Здравствуйте, Conso, Вы писали:

C>У меня такая проблема — написал небольшой квест. Он компилируется и запускается только на одном компьютере. На других прости дополнительные библиотеки (libgcc_s_dw2-1.dll, libstdc++-6.dll, glew32.dll). Я их нашел и скачал, но приложение запускается и вылетает с ошибкой — "Приложение будет закрыто". Использовал openGL и freeglut, компилятор MinGW и IDE — Eclipse.

C>Вроде поможет статическая сборка, но как ее сделать в эклипсе? Заранее благодарен.
Если не вдаваться в детали и не усложнять всё, то ошибка в выделенном. Несовпадение версий, ключей компиляции, чего-либо ещё — и программа крешится. Надо брать эти библиотеки со своей (той, на которой запускается программа) машины. Они могут находится в каталогах компилятора, установлены в %SYSTEMROOT%\system32 или где-то в подобных местах, куда может дотянуться LoadLibrary.
Что касается статической сборки, нужно указать ключ
-static-libgcc

(Где-то здесь: в Project->Properties->C/C++ Build->Settings : MinGW C++ Linker->Miscellaneous, в графе Linker flags — с eclipse работал давно (и давно его не обновлял), точнее не скажу).
Однако, такие библиотеки как glew32 придётся всё равно таскать с собой.
Re[3]: Как собрать игру, что бы запустить на других компьюте
От: Abyx Россия  
Дата: 28.05.11 20:42
Оценка: -2
Здравствуйте, Conso, Вы писали:

C>Здравствуйте, Abyx, Вы писали:


A>>"у меня MSVC и всё работает"

A>>я извиняюсь за флейм, но не могу не отметить что опенсорсный гцц это конечно круто и может даже кроссплатформенно (.dll?), но если вы не можете его осилить, то зачем за него браться? А если взялись — то зачем плакаться на форумах что ниасилили? Читайте документацию. Любите опенсорс — читайте исходники.

A>>зачем вообще браться за гцц если не знаете "как сделать статическую сборку в эклипсе"?

A>>зачем вообще юзать этот гцц+эклипс, если при появлении вашей ошибки вы не можете посмотреть в отладчике что произошло в программе?

C>Я вроде не писал что не могу его осилить. Да и плакаться я не начинал. Если честно, я не так давно программирую под гцц, и многого не знаю. Просто задал вопрос, в надежде на подсказку.


все подсказки написаны в справке.
"многого не знаю" — и не узнаете пока не начнете ее читать

C>Что Вы хотели сказать сообщением написанным именно в такой форме?


то что есть простой и удобный MSVC с нормальной документацией в msdn, заботливо проиндексированной гуглом.
и есть mingw+какая-то-ИДЕ+какие-то еще утилиты (отладчик например), и на эту связку документация тоже есть, но она разбросана по разным сайтам (сайт мингв, гцц, ИДЕ, ..., ...).

так вот если вы взялись за мингв — подразумевается что у вас должен быть уровень достаточный чтобы разобраться с этим самостоятельно.
а не спрашивать "у меня программа не запускается, выдает окно с ошибкой, как компилировать этой ИДЕ?"

что вы сделали перед тем как написать этот вопрос на форуме?
посмотрели список длл импортируемых программой?
посмотрели в отладчике изза чего появляется сообщение об ошибке?
если подозреваете что дело в динамическом рантайме — пробовали компилить со статическим, из консоли (раз не разобрались с ИДЕ)?
In Zen We Trust
Re[4]: Как собрать игру, что бы запустить на других компьюте
От: Alexey F  
Дата: 28.05.11 21:01
Оценка:
Здравствуйте, Abyx, Вы писали:

A>то что есть простой и удобный MSVC с нормальной документацией в msdn, заботливо проиндексированной гуглом.

Так это... Разве он под MSVC/любым-другим-компилятором-с-любой-другой-IDE не столкнётся с той же самой проблемой, скажем, положив не ту версию glew32.dll своей программе на другой машине?
И разве поиск по документации не даст тот же самый результат в этом случае?
Re[4]: Как собрать игру, что бы запустить на других компьюте
От: neFormal Россия  
Дата: 29.05.11 19:12
Оценка:
Здравствуйте, Abyx, Вы писали:

A>какая-то-ИДЕ


неосилятор eclipse?.
...coding for chaos...
Re[2]: Как собрать игру, что бы запустить на других компьюте
От: Etud Беларусь  
Дата: 30.05.11 09:38
Оценка:
C>>На других прости дополнительные библиотеки (libgcc_s_dw2-1.dll, libstdc++-6.dll, glew32.dll). Я их нашел и скачал, но приложение запускается и вылетает с ошибкой — "Приложение будет закрыто". Использовал openGL и freeglut, компилятор MinGW и IDE — Eclipse.

Приложите родные либы, которые есть у Вас на компе. Перенесите на другой.

Уже написали про несовместимость.

C>>Вроде поможет статическая сборка, но как ее сделать в эклипсе?


Пока не надо мудрить.
Re: Как собрать игру, что бы запустить на других компьютерах
От: boot  
Дата: 23.06.11 06:43
Оценка:
Здравствуйте, Conso, Вы писали:

C>Добрый день.

C>У меня такая проблема — написал небольшой квест. Он компилируется и запускается только на одном компьютере. На других прости дополнительные библиотеки (libgcc_s_dw2-1.dll, libstdc++-6.dll, glew32.dll). Я их нашел и скачал, но приложение запускается и вылетает с ошибкой — "Приложение будет закрыто". Использовал openGL и freeglut, компилятор MinGW и IDE — Eclipse.
C>Вроде поможет статическая сборка, но как ее сделать в эклипсе? Заранее благодарен.

У Вас, судя по всему, последняя версия MinGW. Эти библиотеки качать не надо, они лежат в каталоге bin\ (чаще всего). Советую Вам начать изучение gcc с более ранней версии, например gcc 3.4.5. Попробуйте, напишите как получилось. Желаю успеха.
Жизнеспособность прямо пропорциональна простоте!
Re: Как собрать игру, что бы запустить на других компьютерах
От: IROV..  
Дата: 28.06.11 21:46
Оценка:
Здравствуйте, Conso, Вы писали:

C>Добрый день.

C>У меня такая проблема — написал небольшой квест. Он компилируется и запускается только на одном компьютере. На других прости дополнительные библиотеки (libgcc_s_dw2-1.dll, libstdc++-6.dll, glew32.dll). Я их нашел и скачал, но приложение запускается и вылетает с ошибкой — "Приложение будет закрыто". Использовал openGL и freeglut, компилятор MinGW и IDE — Eclipse.
C>Вроде поможет статическая сборка, но как ее сделать в эклипсе? Заранее благодарен.

-static-libstdc++ -static-libgcc

а вот glew32.dll кладете рядом с программой.

я не волшебник, я только учусь!
Re[4]: Как собрать игру, что бы запустить на других компьюте
От: IROV..  
Дата: 28.06.11 23:21
Оценка:
Здравствуйте, Abyx, Вы писали:

A>так вот если вы взялись за мингв — подразумевается что у вас должен быть уровень достаточный чтобы разобраться с этим самостоятельно.

A>а не спрашивать "у меня программа не запускается, выдает окно с ошибкой, как компилировать этой ИДЕ?"
Иногда беруться в последний момент, и mingw не всегда основная платформа, а так фришная замена MSVC.

A>что вы сделали перед тем как написать этот вопрос на форуме?

A>посмотрели список длл импортируемых программой?
A>посмотрели в отладчике изза чего появляется сообщение об ошибке?
A>если подозреваете что дело в динамическом рантайме — пробовали компилить со статическим, из консоли (раз не разобрались с ИДЕ)?
Зря ругаешь, на самом деле месяцев Н назад была тажа проблема, залез в гугль и сразу все нашел. Доки не читал, гугль быстрее.

З.Ы. знаю, плохо, но таков я
я не волшебник, я только учусь!
Re: Как собрать игру, что бы запустить на других компьютерах
От: casual  
Дата: 05.07.11 10:40
Оценка:
Здравствуйте, Conso, Вы писали:

C>Добрый день.

C>У меня такая проблема — написал небольшой квест. Он компилируется и запускается только на одном компьютере. На других прости дополнительные библиотеки (libgcc_s_dw2-1.dll, libstdc++-6.dll, glew32.dll). Я их нашел и скачал, но приложение запускается и вылетает с ошибкой — "Приложение будет закрыто". Использовал openGL и freeglut, компилятор MinGW и IDE — Eclipse.
C>Вроде поможет статическая сборка, но как ее сделать в эклипсе? Заранее благодарен.

во первых статическая сборка поможет если есть библиотеки а не dll с dll никакой статической сборки не будет.
второе все dll которые требует ваша игра можно просто кинуть под ноги exe и он их сам там найдет, если конечно не меняете дефолтовую директорию в самой программе (для чтения ресурсов например) и действительно их качать не нужно ни от куда они у вас на компе гдето лежат
а вобще думаю будет достаточно указать ключ как говорили выше и тогда необходимость в dll вобще отпадет но только стандартных dll — glew32.dll использовать придется
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.