2012-04-19 4 views
0

Я должен реализовать РВО в очень старой OpenGL программе, сделанной в Broldand 5.02, но им получает ошибку folowing, когда я пытаюсь включить GL/glew.h:Использования GLEW в Borland 5.02

Info :Compiling C:\fontesusr\vertexbuffer.cpp 
Error: glew.h(269,25):Too many types in declaration 
Error: glew.h(270,27):Too many types in declaration 
Error: glew.h(13275,185):Multiple declaration for 'PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3F' 
Error: glew.h(13274,185):Earlier declaration of 'PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3F' 

проблемы появляется на следующем GLEW кода:

#elif defined(_MSC_VER) || defined(__BORLANDC__) 
    typedef signed long long GLint64EXT; 
    typedef unsigned long long GLuint64EXT; 
#else 

я думаю, что происходит, потому что Борланд 5,02 это 32-битный компилятор ...

Кто-то может дать мне предположить, на что я могу сделать, чтобы решить эту проблему? или другим способом внедрения VBOs без использования библиотек glew?

+0

Вы действительно должны использовать Borland C++? Можете ли вы использовать более поздний компилятор? –

+0

Да ... программное обеспечение, в котором я работаю, очень старое, и сменить компилятор будет очень долго. (я предложил изменить, но ...) – Victor

ответ

0

Я на 99% уверен, что Borland C++ 5 не имеет целочисленного типа с 64-разрядным битом. Кажется, он интерпретирует long long как «много типов» и устраивается на нем.

Версия glew, которую вы используете, не была написана для поддержки старых версий Borland C++.

Вы можете попытаться взломать заголовочные файлы glew, чтобы удалить ссылки на 64-битные типы и функции.

Кроме того, это может работать, но я не уверен:

#undefine __BORLANDC__ 
#include <glew.h> 
+0

, который работал ... теперь получил некоторые ссылки erros, я попытаюсь решить это сейчас. – Victor