Как экспортировать exe-файлы в Visual Studio со всеми используемыми файлами

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

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

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

2 ответов


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


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

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

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

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