Я запрограммировал игру на нолики и кресты в C ++, используя SDL и Visual Studio 2010. Я встроил ее в Release, и она без проблем работает, если я запускаю .exe на компьютере, на котором скомпилировал его (Windows 7 64bit Home Premium).
Я попытался запустить его на своем ноутбуке (Windows 7 x86 Home Premium), и он открывает окно SDL и сразу же закрывается. Я обнаружил, что происходит сбой при загрузке определенного файла, поэтому добавил вывод консоли в код инициализации и выяснил, что этот файл не может быть найден:
if((menuSurface = Surface::Load("gfx/menu.png")) == NULL){
std::cout << "menu Did not load.";
system("pause");
return false;
}
Особенно это второй загруженный файл, и оригинальный компьютер может найти его нормально.
Проблема, описанная выше, была решена! Я просто забыл добавить дополнительные файлы .dll, поставляемые с sdl_image, такие как zlib1.dll, libpng12-0.dll и т. Д. ... Вторая проблема все еще сохраняется.
Кроме того, на моем компьютере друзей, когда я его запускаю, появляется эта ошибка
TestWin32.exe - Системная ошибка
Программа не может запуститься, поскольку MSVCR100.dll отсутствует в вашем
* Компьютер. Попробуйте переустановить программу, чтобы решить эту проблему. *
Я включил файл MSVCR100.dll в ту же папку, что и .exe (вместе с SDl.dll и SDL_image.dll), но все равно не радуюсь. Файл присутствует в его папке SysWOW64, но программа его не берет. Кто-нибудь может увидеть, что может быть причиной этого?