2013-06-30 8 views
2

Я использую Visual Studio 2012. Я хочу создать полностью автономную программу, которая может быть использована на машине без визуальной студии, установленной только путем копирования файла exe напрямую. Раньше мне приходилось сначала запускать visual C++ 2012, чтобы программа работала. Есть ли способ заставить все работать в одном exe? Я не хотел бы использовать установщик, поскольку это довольно простая программа; время, необходимое пользователю для использования установщика, вероятно, будет больше, чем моя программа ...Создайте автономную программу в C++

Так есть ли способ статически связать все? Прямо сейчас, он просто падает при запуске на новой машине, но как только я устанавливаю VS2012 на эту машину, он внезапно начинает работать.

Любая помощь будет оценена по достоинству.

+0

Кстати, он использует MFC, я не уверен, что делает его проще или сложнее ... – l3utterfly

+0

Вы можете статически связать с \ MT, а не по умолчанию \ MD, но я не знаю, достаточно ли этого, чтобы избежать распространяемого –

ответ

3

Чтобы получить статическое связывание в проекте MFC установить свойство проекта (для сборки выпуска) следующим образом:

кода ++ поколение, Runtime Library

C/C: Многопоточный (/ MT)

Свойства конфигурации, Общие положения: Использование MFC: использование MFC является статической библиотекой

Простой exe с этими свойствами будет работать автономно.

0

После запуска вашей программы вы можете найти его исполняемым в папке Debug \ вашего проекта.

Надеюсь, это поможет! Sarge

+3

. И для этого потребуется несколько десятков DLL, которые могут быть (только на законных основаниях) установлены с использованием распространяемых пакетов, которые могут быть несколькими -мегабайт. Это не ответ – sehe