저는 OpenGL을 사용하는 다중 플랫폼 프로젝트에서 현재 컨텍스트를 쿼리해야하는 지점에 도달했습니다. windows에서 을 사용했습니다. wglGetCurrentContext()windows.h을 포함하여 잘 작동했습니다. 한편 이름이 이미 외부 라이브러리에 정의되어있는 클래스를 선언하는 방법은 무엇입니까?
이 때 내부적 그것은 것을 일어나는 상태 XhXlib.h 및 을 포함 glx.h 포함 glXGetCurrentContext()를 사용하고있어 리눅스에서 컴파일 시도 내 소스 코드에서 나는 상태 인이라는 클래스를 가지고 있지만 매크로는 Xlib에서 동일하게 호출된다. 즉, #define Status int, Aha! 나는 지금까지 모든 수업을 사용하기 때문에 큰 문제가되었습니다.
이 문제를 극복하는 가장 좋은 방법은 무엇입니까? 지금 생각하고있는 아이디어는
- 내 수업 이름을 다른 이름으로 바꿉니다. 왜 그런가요?
- 사용
#pragma push_macro("Status")
내가 그것을 매우 appreaciate, 당신은 다른 추천 알려 경우는 OpenGL의 컨텍스트를
를 조회 할 수있는보다 강력한 휴대용 방법을 찾기 #undef Status
제한 glx.h 다음 매크로 정의를 해제를 포함하는 파일의 수. 머리글에 포함하지 마십시오! –
고유 한 파일에서 종속성을 옮길 수 있습니까? 어디에서'#undef Status'를 안전하게 할 수 있습니까? – Jarod42