Как связать OpenGl в Visual C ++ 2010 Express? - PullRequest
1 голос
/ 28 июля 2011

Я хочу заниматься графическим программированием с использованием OpenGl, и я скачал широко рекомендуемые учебники Neon Helium.Тем не менее, как только я попытался выполнить сборку (я использую Visual C ++ Express), я получил следующие ошибки:

ошибка LNK2005: _WinMain @ 16 уже определено в файле lesson1.obj Ошибка LNK2005: "long_ stdcall WndProc (struct HWND _ *, без знака int, без знака int, long) "(? WndProc @@ YGJPAUHWND __ @@ IIJ @ Z) уже определена в фатальной ошибке lesson1.obj LNK1169: один или нескольконайдено определенных символов

Поясню, что я сделал, шаг за шагом, чтобы кому-то было проще указать на мою ошибку.

  1. Загруженные библиотеки GLUT и GLAUX.Поместите glaux.h и glut.h в C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Include \ gl
  2. Поместите glut32.lib и glaux.lib в C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Lib
  3. Создана папка с именем DLL, в которую я поместил glu32.dll, glut.dll, glut32.dll и opengl32.dll,и добавил эту папку в системный путь.
  4. Создан новый проект в VC ++ 2010 под названием Project 1. VC ++ создает два исходных файла с именами Project1.cpp и stdfax.cpp.Затем я добавил еще один исходный файл .cpp с именем lesson1 и скопировал в него вставленный код Neone из NeHe.

Теперь, когда я пытаюсь построить проект, он выдаёт мне вышеуказанные ошибки.Может ли это быть потому, что учебники NeHe написаны для VC ++ 6.0?Я заметил, что есть два файла glut dll (glut32.dll и glut.dll).Может ли это быть проблемой?Должен ли я удалить один из них?Также нет файла glaux.dll.Нужно ли охотиться за ним, чтобы моя проблема была решена?Если кто-нибудь может помочь мне решить мою проблему, я был бы очень благодарен.Большое спасибо всем, кто ответил на мой предыдущий вопрос

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Прежде всего, вы не должны изучать OpenGL с помощью Nehe's Tutorial.Хотя я ценю то, что он делал для сообщества OpenGL в прошлом, его Учебники ужасно устарели и устарели.Попробуйте использовать это для обучения:

http://arcsynthesis.org/gltut/

Для вашей проблемы: у вас уже есть функция, уже определенная в другом модуле компиляции, например, сообщения об ошибках.Вы загружаете весь код в pastebin?Было бы легче помочь.

Но убедитесь, что в вашем проекте есть только 1 WinMain.VC2010, скорее всего, создал эту функцию для вас в коде шаблона.

0 голосов
/ 28 июля 2011

При создании проекта используйте опцию «Пустой проект».

Или вы можете удалить файлы, созданные мастером, а затем бороться с настройками предварительно скомпилированного заголовка компилятора.

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