2013-09-07 2 views
1

GLFW를 정적 라이브러리로 사용하여 프로그램을 컴파일하려고합니다. 다른 GLFW 함수가 오류를 발생시키지 않기 때문에 모든 것을 올바르게 연결했다고 확신합니다. 이들은 GLFWwindow *를 매개 변수로 사용하는 함수입니다. 예를 들어 :GLFW 오류 - GLFWwindow * 유효한 인수로 인식되지 않습니다.

glfwMakeContextCurrent(window); //window is a pointer of type GLFWwindow 

오류 : 잘못된 인수 '후보자는 다음과 같습니다 무효 glfwMakeContextCurrent (*)'

이 나에게 오류가 발생합니다. 인수 창이 유효하지 않습니다. GLFWwindow에 대한 포인터를 기대하는 다른 함수도 오류를 발생시킵니다. 하지만 나머지는 GLFWwindow *가없는 인자로 예상되는 인자가 컴파일되고 정상적으로 작동합니다.

저는 MinGW32, Eclipse CDT, Win7을 사용하고 있습니다. (내가 32 비트 GLFW를 사용한다고 확신합니다.)

왜 내 포인터를 수락하지 않는 이유가 무엇일까요?

P.S .: eclipse는 glfwMakeContextCurrent (0)을 컴파일합니다. 그리고 힌트로 오류가있는 라인을 가리킬 때 glfwMakeContextCurrent (*);가 표시됩니다. < - 유형 없음, 별표 만

+0

당신은 실제로 코드를 컴파일하는 시도? 이것은 컴파일러가 아니라 Eclipse의 메시지처럼 보입니다. – catscradle

+0

정적 라이브러리를 링크하는 것은 정의되지 않은 참조를 던졌습니다 (GLEW 링크를 제거한 후에 표시됨). 지금은 어떤 오류없이 glfw의 dll 버전을 사용하고 있습니다. mingw/g ++도 아무것도 불평하지 않습니다. 그러나 "invalid arguments"오류가 여전히 존재합니다 ... 아마도 Eclipse의 버그 일 수 있습니다. 나는이 "오류"와 함께 프로그램을 실행하고 나중에 다시 게시하려고합니다 ... –

답변

0

glfw에 함수 glfwWindowMakeContextCurrent이 없습니다. 컴파일러 설정 방법에 따라 컴파일러가 존재한다고 가정하고 기본적으로 정수 인수를 취한다고 가정하므로 이러한 형식 불일치로 인해 실패 할 수 있습니다. 그러나 glfwMakeContextCurrent 함수를 찾고 있는데 실제로는 GLFWwindow* 인수를 사용합니다.

+0

Ah damn. 이것은 실수였습니다. 실제로 glfwMakeContextCurrent (window) 함수를 사용하고 있습니다. ! 이것은 나를 오류 –

+0

@ FrischerHering 준다 : 당신은 실제로 어떤 오류가 발생합니까? – derhass

+0

잘못된 인수 '후보자는 다음과 같습니다 : void glfwMakeContextCurrent (*)' –

0

해결 된 문제 ... 다소 차이가 있습니다. GLFW의 정적 버전을 사용하면 몇 가지 연결 오류가 발생하므로 지금은 dll 버전을 사용하고 있습니다. 이 코드를 사용하여 테스트 프로그램을 만들었고 정상적으로 작동했습니다. 그러나 오류는 여전히 Eclipse에 표시됩니다. 이클립스가 제대로 함수를 읽거나 찾지 못하는 것 같습니다.

Invalid arguments ' 
Candidates are: 
void glfwMakeContextCurrent(*) 
' 

이클립스 인수로 GLFWwindow *와 그 라인을 무시하는 방법을 찾을 필요 은 ...

관련 문제