2016-10-01 2 views
0

그래서 C++에서 헤더를 # 포함하면 컴파일러는 헤더의 내용을 복사하여 #include가있는 위치에 붙여 넣습니다. 내가 작은 게임 엔진/프레임 워크를 만들고있어 GLFWwindow와 같은 것들이 필요하기 때문에 GLEW & GLFW를 Engine.h에 포함시키고있다. 하지만 컴파일러는 단지 엔진 form.h를 복사하여 테스트 게임 1의 main.cpp에 붙여 넣기 때문에 엔진을 사용하는 Test Game 1 Project에서 컴파일러 오류가 발생합니다. 테스트에서 glew와 glfw를 포함하려고합니다. 게임 1, 나는 그것을 원하지 않는다. 그리고 나는 그 프로젝트에서 glew와 glfw 라이브러리에 연결하지 않았다. 테스트 게임 1에 포함시키지 않고 engine.h에서 glew 및 glfw에 액세스 할 수 있도록 수정하는 방법은 무엇입니까?헤더를 포함하는 프로젝트에 헤더를 포함하지 않고 헤더에 포함하지 않는 방법

+1

하면 GetProcAddess를 사용 GLFWwindow 함수를 호출 1. 어느 당신은 정적 glew와 glfw 라이브러리와 프로젝트를 연결 한 후 2. 또는 당신이 C에서 다음을 LoadLibrary() 등을 사용하여 ++ 코드를 glew 및 glfw 라이브러리를로드 GLFWwindow 함수를 호출 당신은 머리말에서 그들을 필요로한다, 당신은 그들을 포함해야한다. 사용하지 않을 경우 포함하지 마십시오. 실제로 다른 방법은 없습니다. 어떤 코드도 보지 않고는 아무 말도 할 수 없습니다. –

+0

우리가 도와 드릴 수 있도록 코드를 보여주십시오. 감사합니다 – amanuel2

+1

'engine.h'를 [핌플 디자인 패턴 사용하기] (http://stackoverflow.com/questions/3597693/how-does-the-pimpl-idiom-reduce-dependencies)로 다시 작성하십시오. –

답변

0

두 가지 옵션이 있습니다.()

관련 문제