2011-06-03 4 views
8

estoy tratando de compilar el proyecto de otra persona, y estoy consiguiendo unos 850 errores todos ellos relacionados con OpenGL. Estoy usando Visual Studio 2008, en Windows 7 de 64 bits, pero el proyecto es un proyecto de Win32.Obtención de muchos errores de OpenGL

Como se puede ver, los errores de abajo son de gl.h en el SDK de Windows incluyen carpeta bajo Program Files, no Program Files (x86) así que supongo que eso es parte del problema. He intentado añadir el .NET 2003 incluyen directorio que tiene gl.h y está bajo Program Files (x86), pero todavía está tratando de utilizar la versión de gl.h bajo Program Files.

Además, el proyecto utiliza wxWidgets 2.4.2 y no puedo encontrar ninguna instancia de gl.h ser incluido en la propia solución, así que no estoy seguro de lo que está tirando de él en

Actualización:. Todavía incapaz de Compila esto. El proyecto real que intento compilar es la herramienta "Interactive Digital Photomontage" (código fuente en el enlace). Incluyen un archivo de proyecto VS2003 e instrucciones, que seguí cuidadosamente. Incluso intenté construir en VS2003 y obtuve los mismos errores. Tengo curiosidad si alguien tiene un momento para probar esto en su sistema y ver si reciben los mismos errores. Requiere wxWidgets 2.4.2 para ser instalado.

¿Alguna idea? He incluido una muestra de algunos de los siguientes errores. Gracias.

1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2144: syntax error : 'void' should be preceded by ';' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2146: syntax error : missing ';' before identifier 'glAccum' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2182: 'APIENTRY' : illegal use of type 'void' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C2144: syntax error : 'void' should be preceded by ';' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C2086: 'int WINGDIAPI' : redefinition 
+0

Los archivos de cabecera son los mismos independientemente del valor de bits (utilizan '# if' cuando sea necesario), por lo que don No se preocupe por tener los archivos de encabezado cargados desde el directorio del compilador de 64 bits. –

Respuesta

14

necesita incluir "windows.h" antes "gl.h"

#include "windows.h" 
#include "gl.h" 
+1

He intentado esto y no cambió nada, pero no estoy seguro de lo que el archivo "principal" para este proyecto es, así que no estoy seguro de dónde exactamente debo decirlo. El proyecto debería producir un exe llamado 'fuse.exe', por lo que' fuse.cpp' parecía el lugar lógico, pero no funcionó, y ese archivo no parece tener una función principal. El proyecto usa wxWidgets para crear su GUI, así que supongo que tal vez el punto de entrada esté en algún encabezado wx. ¿Alguna idea? Gracias. – SSilk

+0

Además, al buscar problemas similares, noté que muchas respuestas son que alguien está intentando compilar el código C como C++. Es OpenGL C o C++? ¿Y cómo puedo cambiar cómo se compila mi proyecto? Realmente no puedo encontrar en ninguna parte de la solución completa que gl.h esté incluido. Creo que es probable que sea por wxWidgets, pero de nuevo, no estoy seguro de cómo. – SSilk

+1

OK, esto funcionó al final. Simplemente no pude encontrar ningún archivo cpp de "nivel superior" en el que una sola inclusión de windows.h solucionara el problema, así que revisé el proyecto y lo incluí en cada archivo que me daba estos errores y los detenía. Obteniendo algunos otros errores ahora pero parecen no relacionados. Gracias. – SSilk

Cuestiones relacionadas