Я пытаюсь сделать игру, используя SFML. Я сделал часть этого в Visual Studio 2012 и Windows 7. Я попытался запустить игру на другом ПК, который использует Windows XP, но я получил сообщение об ошибке "MSVCP110D.dll не был найден". Я видел еще одну тему на этом форуме, в которой говорится о компиляции кода в режиме Release, но когда я выбираю опцию "Release" перед компиляцией, Visual Studio подчеркивает все, что переписывается с помощью SFML. Он не может найти библиотеку, в которую я включил "SFML/Graphics.hpp". В режиме "Отладка" все в порядке. Вы знаете, как я могу запускать свою игру на разных ПК (Windows XP или Windows 7)?
Я изменил свойства проекта для компиляции для Windows XP. Без этой опции, когда я пытаюсь запустить игру на XP, возникает ошибка "Недействительное 32-битное приложение".
Сейчас все работает. Я изменил все настройки для режима выпуска. На моем компьютере с Win XP я установил C++ Redistribution 2012. Но что, если я отправлю игру человеку, у которого нет C++ Redistribution 2012?
Как показало обсуждение в комментариях, вы всегда должны создавать режим Release для развертывания. Более того, когда вы динамически связываете динамическую динамику, вам нужно либо предоставить библиотеки DLL вашему приложению (скопировать их из каталога Visual Studio рядом с вашим исполняемым файлом), либо отправить/связать соответствующее перераспределение.
Другим вариантом было бы связать статически, как отметил Шепурин, но имейте в виду, что это может вызвать другие проблемы, если не сделать правильно и последовательно.