UkraineGhost
@UkraineGhost
Я не знаю відповідей, лише запитання!

Как отправить готовую написанную игру на другой компьютер?

Я решил написать игру “Морской Бой” на С++, с использованием SFML. Написал костыльную недоработанную версию и решил протестить. Но для этого нужно два компьютера(что в принципе логично). И тут я столкнулся с проблемой - я не знаю как и что вообще нужно сделать для того, что бы её запустить на другом устройстве.
Вот у меня есть .exe-шник, рисунки, и .dll SFML-я. А поэтому и решил их скинуть другу. Он скачал, распаковал и запустил.

И у него возникают ошибки
62d48980b0956984162786.png
62d489953282f334246363.png
62d489b643d06152275278.png
62d489c828772216991897.png


Я в принципе понимаю, что не хватает кое-каких .dll файлов. Но что-то чувствуется что это не исправит проблему - что это не сама проблема. В уме представляется какая-то папка, с большим количеством файлов, предназначенных для поддержки игры, а потом уже .exe, .dll и рисунки. От когда загружаешь какуе-то игру, там с ним идём в дополнении большой пак файлов и маленький .exe файл.

Если эти все мысли ошибочны - буду рад! Пожалуйста. Объясните, что нужно передать(какой сет файлов), для того чтобы запустить игру на другой компьютер. Разумеется, я искал эту информацию по разным источникам: по форумам (Хабру, cyberforum), по каким-то официальным источникам (docs.microsoft, документация SFML), по Ютубу. Я знаю из меня плохой искатель решений, но я уже так устал и задизморалился, что нету никаких сил что-то делать. Нету интереса дальше продолжать писать код. Прошу Вас, Подскажите как решить даную проблему.

Решение: Ответ этого решения заключался в моей необразовательности, настолько что мне стыдно будет за то, что далее я скажу! Оказалось, что мне надо было переслать Release-ую версию, а не Debug-ую!
  • Вопрос задан
  • 1206 просмотров
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C++
Всё как и должно быть. Потому что не всегда C++ приложение можно просто так запустить на другой машине.
На тулчейне от Microsoft (очевидно, вы используете Visual Studio для разработки, т.к. недостающие библиотеки из текста ваших ошибок - это студийный C++ рантайм) при использовании динамической линковки рантайма нужно приложить некоторые дополнительные усилия, чтобы этот рантайм появился на другой машине (т.к. его там ещё может не быть - ведь рантайм для каждой мажорной версии студийного компилятора свой). Вы можете как установить рантайм централизованно, так и положить его рядом с вашим приложением. Ну или вы можете слинковать рантайм статически.

Задача, которую вам сейчас нужно решить, называется развёртыванием (deployment). Это абсолютно нормально, что вы столкнулись с необходимостью разобраться с этим, раз вы пользуетесь C++.

Нет лучшего источника информации по этой задаче в рамках тулчейна Visual C++, чем вот эта страница: en/ru. Разбирайтесь, и у вас точно всё получится - абсолютно в каждом C++ проекте production-уровня эта задача решается тем или иным способом. Возможно вам потребуется дополнительно разобраться, что это вообще такое за "рантайм" и почему он требуется для работы вашего приложения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы