Не удается скомпилировать средство просмотра 3D-точек в Visual Studio 2008 - PullRequest
0 голосов
/ 08 марта 2011

Может ли кто-нибудь мне помочь? Я пытаюсь запустить средство просмотра облака точек 3d. Как бы то ни было, оно показывает следующие ошибки

Error   1   error C2144: syntax error : 'void' should be preceded by ';'    c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h   1152    Viewer
Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h   1152    Viewer
Error   3   error C2146: syntax error : missing ';' before identifier 'glAccum' c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h   1152    Viewer
Error   4   error C2182: 'APIENTRY' : illegal use of type 'void'    c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h   1152    Viewer
Error   5   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h   1152    Viewer
Error   6   error C2144: syntax error : 'void' should be preceded by ';'    c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h   1153    Viewer
Error   7   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h   1153    Viewer

и так далее ... Начало моего кода:

    #include <cstdlib>
    #include <GL/glut.h>

    #include <cmath>
    #include "arcball.h"
    #include <vector>
    #include <iostream>
    #include <fstream>
 using namespace std;

Может кто-нибудь сказать, пожалуйста, что идет не так?

1 Ответ

0 голосов
/ 08 марта 2011

Ну, первая ошибка, о которой сообщают, находится в первой строке, которая объявляет функцию с модификатором WINGDIAPI.Видимо, это объявлено в wingdi.h.Тем не менее, я не уверен, что вы имеете в виду #include напрямую или есть более формальная рекомендация для компиляции кода opengl в среде Windows.Я буду охотиться вокруг.

Страница на MSDN, в которой обсуждаются необходимые заголовки для работы OpenGL , немного расплывчаты, но я беру:

Функции Windows, которые поддерживают реализацию Microsoft OpenGL в Windows, должны включать файл заголовка Windows.h.

Чтобы означать, что вы должны сначала включить windows.h.


Действительно?Если я создаю пустой проект C ++ в VS2008, создаю пустой файл cpp, копирую и вставляю ваши включенные файлы и нажимаю compile, я получаю именно те ошибки, которые вы описали.Если я изменю свои включения на:

#include <cstdlib>
#include <windows.h>
#include <GL/gl.h>

#include <cmath>
#include "arcball.h"
#include <vector>
#include <iostream>
#include <fstream>

Тогда первая ошибка, о которой я сообщаю, это то, что она не может найти "arcball.h" (вряд ли неожиданно).Вы по-прежнему получаете те же ошибки после включения windows.h?

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