Как экспортировать exe-файлы в Visual Studio со всеми используемыми файлами - PullRequest
7 голосов
/ 01 декабря 2011

Итак, я работал над несколькими проектами, используя аудио и изображения из файлов в Visual Studio C ++. На данный момент это всего лишь тестовые проекты, но я собираюсь перейти к созданию 2D-игр для развлечения, используя SFML и несколько различных аудио-библиотек. Проблема в том, что я хочу раздавать свои игры другим, чтобы они могли играть и тестировать их, и я могу попытаться разработать какой-нибудь мультиплеер для некоторых, тем самым увеличивая мое желание раздавать его другим, однако я не делаю этого. знаю, как я могу дать им игры со всеми включенными файлами. Раньше я мог просто получить exe-файлы из папки отладки или выпуска, но в этих проектах есть файлы, на которые они полагаются.

Итак, вот мой вопрос, возможно ли экспортировать exe-файл, содержащий все остальные файлы (wav, jpg и т. Д.)? Если этот вопрос звучит в подавляющем большинстве случаев глупо, то скажите мне, потому что я очень мало представляю, что такое exe-файл и может ли он хранить эти файлы (я привык к java, где вы можете просто экспортировать что-либо в работоспособную флягу и потому, что это архив, со всеми ресурсами, упакованными там, я не знаю, разделяет ли exe эти черты). Если это невозможно или есть лучшие альтернативы, каковы они? Я видел вещи и знаю, как загрузить звуки из массивов данных, это будет лучшим решением? Или есть другие варианты? Кроме того, в папке отладки и выпуска есть несколько DLL-файлов, которые мне нужны для запуска проекта, есть ли способ сжать их в исполняемый файл или они должны быть в той же папке, что и исполняемый файл, независимо от того, что ?

Реальный вопрос здесь заключается в том, каков наилучший способ экспорта exe-файла моего проекта, чтобы я мог использовать все свои звуковые и графические ресурсы, а также библиотеки DLL в легко распространяемой копии? Заранее благодарю за любой совет.

Ответы [ 2 ]

5 голосов
/ 01 декабря 2011

Существует два простых способа сделать файл, который вы можете легко дать людям для тестирования и / или игры в вашу игру.

  1. Первый вариант - с использованием установщика , как указано в ответе Кена Уайта. Это хороший метод для «финальных» выпусков, но он добавляет дополнительный шаг, если вы просто хотите отправить копию своей игры кому-то, чтобы протестировать ее.

  2. Второй способ - поместить все ваши файлы в один .zip файл (или .rar, или .tar.bz). По сути, это очень похоже на файл .jar в Java, в котором все dll, файлы изображений и звуковые файлы объединены в один файл. В последних версиях Windows есть возможность создавать встроенные zip-файлы, поэтому лучший способ сделать это - просто заархивировать версию Debug или Release со всеми файлами, разархивировать в пустую папку где-нибудь и протестировать игру. Это позволит вам убедиться, что вы получили все необходимые файлы. Таким образом, вы можете легко отправить свою игру кому-нибудь, он может просто разархивировать ее в папку где-нибудь и играть, не связываясь с установщиками.

  3. Третий вариант бонуса - вставка файлов в ресурс и загрузка их во время выполнения, или аналогичные вещи (можно получить действительно модные и объединить все файлы в один EXE, но это не совсем просто и не очень рекомендуется).

5 голосов
/ 01 декабря 2011

Невозможно экспортировать exe , который содержит ваш exe и несколько других файлов. Вы можете использовать установщик (например, InnoSetup , который является бесплатным), или связать дополнительные файлы в ресурс и загрузить их из ресурса во время выполнения. (Преимущество первого заключается в возможности спрашивать пользователя о том, где устанавливать, создавать ярлыки и папки, элементы меню «Пуск» и т. Д.).

...