-1

Чтобы дать вам представление о том, что я действительно пытаюсь сделать. Моя цель - создать C++-программу в Visual Studio и с помощью OpenGl отобразить черный экран и белую точку посередине экрана.Использование OpenGL с Visual Studio 2013 Express

Прежде чем я могу даже добраться до части кодирования, я должен каким-то образом включить библиотеку 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> 

?

ответ

1

Скорее всего, CMake настроил его неправильно; EGL используется во встроенных системах (думаю, Android, телевизионные приставки и т. Д.), А не Windows. Дважды проверьте, что CMake делает что-то разумное.

После того, как вы создали FreeGLUT, скопируйте его где-нибудь удобно (не копируйте его в установочный каталог Visual Studio) и добавьте каталоги, в которые вы разместили FreeGLUT, на свои собственные пути поиска компилятора и компоновщика проекта OpenGL (доступны в Visual Studio Конфигурация сборки).

Лично я помещаю customly встроенные библиотеки в

C:\local\include\ (заголовочные файлы)

и

C:\local\lib (.lib, .a и .dll файлы)

Я также, как правило, чтобы дать библиотеки архитектурный инфикс, такой как x86_32 или x86_64. например freeglut-x86_64.dll. Маловероятно, что Windows когда-нибудь получит какой-то «жирный бинарный» код, в котором код для нескольких архитектур может быть объединен.

Для удобства поместите путь DLL в путь поиска системы для DLL. При развертывании вашей программы скопируйте необходимые библиотеки DLL в тот же каталог, что и EXE-файлы.

+0

Я смог скомпилировать двоичные файлы для FreeGLUT без ошибок, но теперь я застрял, я действительно не знаю, что делать дальше. Я не могу найти файлы .dll .lib или .a в любом из файлов, которые были выведены. Поэтому позвольте мне вернуться. Я загрузил FreeGLUT, извлек его в C: \ freeglut-3.0.0 \ Затем я открою этот путь в CMake и построил двоичные файлы в C \ local \ GLUT. Затем я открыл файл C \ local \ GLUT \ freeglut.sln в Visual Studio и скомпилировал его. Теперь у меня осталось много файлов и нет .dll, .a или .lib-файлов. Где я их получу? И как только я получу их, как мне связать их в моем проекте OpenGL? –

+0

@JeffDavenport: То, что вы сделали, звучит правильно. Но если результат отсутствует, должны быть сообщения об ошибках. Выходные файлы должны быть в каталоге 'Release' или' Debug' в зависимости от выбранной конфигурации сборки. – datenwolf

+0

@ datenwoolf: Я смог их найти, они были в папке ./lib и ./bin папке с множеством других бессмысленных файлов, ха-ха Спасибо! –

Смежные вопросы