Я только что написал приложение на C ++, используя библиотеки SDL 1.2.15 и SDL_image 1.2.12. Он работает на моем компьютере, но всякий раз, когда я отправляю * .exe своим друзьям (конечно, со всеми файлами * .dll из библиотек SDL и изображениями, которые нужны программе), они говорят, что ничего не происходит (нет сообщений, нет ошибок и т. Д.). Содержание программы не имеет значения, так как каждое написанное мной приложение SDL создает такую проблему.
Я работаю над Code :: Blocks 10.05 на Windows XP (как мои друзья). Очевидно, я отправил релизную версию.
Я обнаружил, что моя программа не работает в режиме совместимости с Windows NT и ниже.
Если приложение не запускается, вы можете использовать DependencyWalker проверить, все ли статические зависимости выполнены. Он покажет вам, есть ли пропавшие dll. Если все зависимости кажутся выполненными (нет ошибки в списке DLL), вы можете использовать Profile
Команда из главного меню для профилирования запуска приложения.
Профилирование покажет вам, если есть какие-либо проблемы с динамическими зависимостями (dll, загруженные через COM или явные вызовы LoadLibrary
).
Хорошо, я только что обнаружил свою ошибку. Я определил ширину и высоту моего SDL_Surface (с помощью SDL_SetVideoMode ()), чтобы соответствовать размерам моего экрана. Когда функция захотела сделать то же самое на экране с другими измерениями, она вернула NULL, что привело к сбою всего приложения.
Спасибо за беспокойство.