Чтобы дать вам представление о том, что я действительно пытаюсь сделать. Моя цель — создать программу на С ++ в Visual Studio и с помощью OpenGl отобразить черный экран и белую точку в середине экрана.
Прежде чем я смогу добраться до части кодирования, я должен как-то включить библиотеку OpenGL.
Глядя на документацию OpenGL, они говорят, что она уже установлена, мне просто нужно ее инициализировать.
Я бы предпочел не выполнять всю работу по инициализации, так как она уже выполнялась несколько раз, например, FreeGLUT, но у меня есть две реальные проблемы, которые я в настоящее время просто не понимаю.
1) Как мне скомпилировать FreeGlut?
Я скачал исходный код для FreeGLUT здесь http://prdownloads.sourceforge.net/freeglut/freeglut-3.0.0.tar.gz?download
Я настроил его с помощью CMAKE в совместимый с Visual Studio 2013 проект.
но как только я открываю его в Visual Studio и пытаюсь скомпилировать, я получаю кучу ошибок, говорящих:
Error C1083: Cannot open include file: 'EGL/egl.h': No such file or directory c:\freeglut-3.0.0\include\gl\freeglut_std.h 136 1 One_static
2) Как только я его скомпилирую, как мне связать его с моим проектом c ++, чтобы я мог сделать
#include<FreeGLUT.h>
или же
#include <GL/glut.h>
?
Скорее всего, CMake настроил это неправильно; EGL используется во встроенных системах (например, Android, телевизионных приставках и т. Д.), А не в Windows. Дважды проверьте, что CMake делает что-то разумное там.
После того, как вы создали FreeGLUT, скопируйте его в удобное для вас место (не копируйте в каталог установки Visual Studio) и добавьте каталоги, в которые вы поместили FreeGLUT, в пути поиска компилятора и компоновщика вашего собственного проекта OpenGL (доступно в конфигурации Visual Studio Build).
Лично я размещаю специально созданные библиотеки на
C:\local\include\
(заголовочные файлы)
а также
C:\local\lib
( .lib
, .a
а также .dll
файлы)
Я также склонен давать библиотекам такой инфикс архитектуры, как x86_32
или же x86_64
, например freeglut-x86_64.dll
, Маловероятно, что Windows когда-либо получит какой-то «толстый бинарный файл», в котором можно объединить код для нескольких архитектур.
Для удобства поместите путь DLL в системный путь поиска DLL. При развертывании вашей программы скопируйте необходимые библиотеки DLL в тот же каталог, что и файлы EXE.