Я согласен с JaredPar. Приложение, которое вы создаете с помощью VS2008, использует динамическое связывание, тогда как DEV C ++ связывает статически, следовательно, имеет больший размер и почему одно работает, а другое нет.
Однако, если у вас есть простой проект приложения win32 (и вы не хотите / не должны распространять его с настройкой), вы можете иметь возможность запустить его на другом машина без перераспределения CRT, заставляя VS2008 статически связывать для вас (если это просто стандартная библиотека, которую вам не хватает). У меня нет под рукой копии VS2008, поэтому я опишу, как это сделать в VS2005, и, надеюсь, она будет переведена.
- Вывести свойства конфигурации для проекта (щелкните правой кнопкой мыши имя проекта, затем выберите «Свойства» в меню)
- Разверните «Свойства конфигурации», затем «C / C ++», затем нажмите «Генерация кода»
- В разделе "Runtime Library" для вашей конкретной конфигурации выберите версию библиотеки non-DLL , т.е. для отладочных сборок, которые вы хотите "Многопоточная отладка (/ MTd), и для сборок выпуска вы хочу "Многопоточный (/ MT)"
Попробуйте и посмотрите, работает ли это. Очевидно, вы получите намного больший конечный двоичный файл, теперь библиотека статически связана.