Embarcadero Windows библиотеки и пакеты - PullRequest
0 голосов
/ 26 февраля 2019

Я впервые использую Embarcadero RAD Studio (C ++, а не Delphi), и, несмотря на многочисленные поиски на его сайте и в остальном Интернете, я все еще путаюсь с некоторыми концепциями.

Моя цельна данный момент, это установить основной профиль OpenGL и продолжить работу с OGL (с которой я знаком).С другой IDE / компилятором я бы добавил библиотеку opengl32, использовал wglCreateContextAttribsARB и glew.

Копаясь в файлах Embarcadero, я нахожу C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win32\release\psdk\opengl32.lib, C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win32c\release\psdk\opengl32.lib (обратите внимание на 'c' послеwin32, что это?) и C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\win64\release\psdk\opengl32.a

Так что, я полагаю, я мог бы просто «Project-> Add to Project ...» библиотеку вместо «импорта» из системы Windows, как это, казалось, было необходимо многиммного лет назад.Но я запутался, потому что RAD может добавить необходимые библиотеки самостоятельно, по крайней мере для элементов управления, верно?

Но я встречался с файлами ".pas", которые, кажется, загружают все, что нужно.На самом деле, C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\win\Winapi.OpenGLext.pas кажется достаточно, поэтому я мог бы избежать glew.Я путаюсь с тем, что я не знаю, можно ли (и как) использовать файл .pas для VCL C ++, а не для Firemonkey, не для Delphi.

Я не смог найти wglCreateContextAttribsARB,или замена для установки контекста профиля ядра.

Подводя итог:

  1. Нужно ли добавлять системные библиотеки?Как?
  2. Как использовать файлы ".pas"?
  3. В чем разница между win32 и win32c dirs?
  4. Как установить основной профиль OGLконтекст?Я имею в виду, должен ли я пойти по пути получения указателя функции на wglCreateContextAttribsARB или RAD предоставляет другой способ?
  5. Обеспечивает ли RAD для C ++ замену glew?

1 Ответ

0 голосов
/ 27 февраля 2019

1. Мне нужно добавить системные библиотеки?Как?

Обычно да.если вы не используете компонент, который позаботился о добавлении библиотеки.В Win32 вы должны использовать #pragma link "opengl32.lib", а в win64 вы должны добавить #pragma link "opengl32.a" к вашему коду cpp.

2.Как использовать файлы ".pas"?

Вам не нужно добавлять файлы из исходного каталога в ваш проект.Embarcadero достаточно хорош, чтобы включать исходный код для большинства своих компонентов в продукт.Это сделано для того, чтобы вы могли понять, как это работает, и, если вам нужно изменить какое-либо поведение, вы можете создать новый класс, производный от нужного вам класса, и переопределить соответствующую функцию.В целом, C ++ builder позволяет добавлять модули Pascal в проект C ++ и будет автоматически создавать заголовочный файл.Но в вашем случае в этом нет необходимости.

3.В чем разница между каталогами win32 и win32c?

C ++ builder поставляется с 2 32-битными компиляторами для Windows.Один из них основан на clang и поддерживает C ++ 14, а скомпилированные с ним библиотеки находятся в каталоге win32.Другой - классический компилятор, и библиотеки, которые были скомпилированы с ним, находятся в каталоге win32c.Если вы не проверили «Использовать классический компилятор» в настройках проекта, вам не нужно беспокоиться об этом.

4.Как установить контекст профиля OGL Core?Я имею в виду, должен ли я пойти по пути получения указателя на функцию wglCreateContextAttribsARB или RAD предоставляет другой способ?

Я не знаю ни о каких компонентах, которые может предоставить RAD studio.Вы должны искать https://torry.net/ или http://www.delphipages.com/ или во многих других местах, где есть компонент, который поможет вам с тем, что вам нужно.

5.Предоставляет ли RADC ++ заменяет glew?

Что такое "glew"?

...