2012-01-19 1 views
2

stdio.h으로 C 프로그램을 컴파일 할 수 있으며, Windows 용처럼 i586-mingw32msvc-gcc과 같이 컴파일 할 수 있습니다. 그러나 GLUT 프로그램에서는이 작업을 수행 할 수 없습니다. 리눅스를 컴파일 할 때 내가 사용Windows 용 GLUT 헤더를 사용하여 C 프로그램 컴파일 (리눅스 용)

gcc main.c -lglut -lGLU 

는 그러나 나는 mingw32를 사용하여 Windows을 위해 그것을 할 수있는 방법이 확실하지 오전 (이 a.out을 함께 온다 내가 나쁜 관행을 알고있다). 내가

i586-mingw32msvc -lglut -lGLU 

를 실행하면 반환 :

#include <GL/gl.h> 
#include <GL/glu.h> 
#include <GL/glut.h> 

그리고 컴파일하는 것을 할 수 있도록하는 방법이 확실하지 오전 :

test.c:3:21: error: GL/glut.h: No such file or directory 

포함 된 헤더 파일입니다. 어떤 아이디어?

+3

라이브러리의 Windows 버전을 설치해야합니다. – asaelr

+0

팁 주셔서 감사합니다. 어떻게받을 수 있습니까? 나는 시냅틱을보고 그와 같은 것을 볼 수 없었다. – user1150512

+0

http://user.xmission.com/~nate/glut.html –

답변

1

기본적으로 오류는 MinGW GCC가 필요한 헤더를 찾지 못한다고 알려줍니다. 즉, 다른 OS로 크로스 컴파일하고 있기 때문에 헤더 파일에 OS 관련 사항이 포함될 수 있습니다. 불행히도 OpenGL이 그 중 하나입니다. 따라서 Windows 버전에도 필요한 라이브러리를 설치해야합니다.

그러나 미리 컴파일 된 바이너리를 웹에서 다운로드하면 안됩니다. MinGW와 일치하는 라이브러리가 필요합니다. 물론 MinGW 빌드 라이브러리를 설치하면됩니다. 그러나 나는 뭔가 다른 것을 제안합니다 : 여러분이 MinGW 환경에서 여러분이 필요로하는 모든 라이브러리를 크로스 컴파일하고 로컬에 설치하십시오. 올바른 컴파일러, 링커 및 접두사를 각 라이브러리의 빌드 구성에 전달하여이 작업을 수행 할 수 있습니다. 예를 들어 autoconf를 위해 (내 시스템에) configure를 기반

CC=i686-mingw32-gcc CXX=i686-mingw32-g++ ./configure --prefix=/usr/i686-mingw 

make ; make install 다음 구축하고 당신이 다른 일반 설치 라이브러리로 사용할 수는 MinGW 환경에서 라이브러리와 그 헤더를 설치합니다.