Как создать отдельную исполняемую программу на C ++? - PullRequest
0 голосов
/ 08 ноября 2011

Я хочу создать программу, которая могла бы работать на любом компьютере без исходного кода. Как это возможно? и какая разница, если я использовал OpenGL в Программе?

Ответы [ 5 ]

6 голосов
/ 08 ноября 2011

Вы не можете кодировать программу на C ++, которая работала бы на любом компьютере без предоставления исходного кода для компиляции.

Например, вы, возможно, могли бы написатьв C ++ программу, и скомпилируйте ее и создайте исполняемый файл, который работает в Windows x86-64, но этот исполняемый файл не будет работать в Linux (или MacOSX), и он не будет работать в ARM (например, телефонах Android), если вы не считаете,используя эмуляторы

2 голосов
/ 08 ноября 2011

Если вы разрабатываете свой код на Visual C ++, вам может потребоваться рассмотреть два варианта:

  1. Убедитесь, что вы статически связываете все библиотеки.
  2. Установите на целевые компьютеры вместе сВаша программа Microsoft Visual C ++ Redistributable Package, соответствующая используемой вами версии Visual C ++, такой как http://www.microsoft.com/download/en/details.aspx?id=5555.. Некоторые программы, создающие установщик, сделают это автоматически.
1 голос
/ 08 ноября 2011

Обычно вы связываете свой объектный файл с каким-либо платформо-зависимым загрузчиком. Этот загрузчик загружает ваш объект и делает все, чтобы запустить его из памяти. Обычно вы можете указать компилятору связать ваш объектный файл и скомпилировать BLOB-объект. OpenGL - это мощный API-интерфейс, который обычно распространяется в виде связанной библиотеки .dynamic и связан во время выполнения с вашей программой. Если я помню, вам просто нужно убедиться, что dll находится там, где вы хотите, и загрузить dll в свою программу с самого начала.

0 голосов
/ 08 ноября 2011

Я хочу создать программу, которая могла бы работать на любом компьютере без исходного кода. Как это возможно?и имеет ли какое-то значение, если я использовал OpenGL в Программе?

Путем компиляции и связывания его в исполняемый файл.Пока вы не используете какой-то интерпретируемый язык (например, Python, Ruby и т. Д.), Вам неизбежно предоставляется исполняемый файл.Самая большая проблема, с которой вы можете столкнуться / столкнуться - это зависимости от библиотек.Однако они также связаны в двоичном виде.То, что вы собираетесь отправить, будет просто .exe;и немного .dll может быть.Обычно вы помещаете это в пакет установщика для развертывания конечному пользователю.Установщики создаются с помощью чего-то вроде «Системы установщиков NullSoft» (NSIS).

Сам OpenGL - это просто API, предоставляемый системной библиотекой.Таким образом, вы не поставляете OpenGL со своей программой, но ожидаете, что пользователь установит ее в системе (что будет в случае, если он установил драйверы графики).

0 голосов
/ 08 ноября 2011

Ваша программа на C ++ компилируется и связывается в исполняемый файл перед запуском. Вы сможете найти этот исполняемый файл в подпапке Debug или Release папки, содержащей ваш проект.

OpenGL, если вы не используете GLUT или подобные библиотеки, должен просто прийти с Windows и не создавать никаких дополнительных проблем. Если вы используете GLUT, достаточно связать файл DLL с вашим приложением.

В любом случае исходный код не понадобится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...