2012-10-03 2 views
0

지난 2 년 동안 Java와 NetBeans를 사용했습니다. 새 타사 라이브러리를 프로젝트에 추가하려면 .jar 파일에 넣고 NetBeans는 나머지 작업을 수행해야합니다. .Visual Studio (2010) 프로젝트에서 타사 SDK/라이브러리를 사용하는 방법? (OpenGL/FreeGLUT/GLEW)

최근 C++ 및 Visual Studio로 전환했으며 '누락 된 참조'오류로 인해 OpenGL, GLUT 및 GLEW를 사용하여 프로젝트를 컴파일하는 데 어려움을 겪고 있습니다.

일부 튜토리얼에서는 GLUT/GLEW 용 프로젝트를 다운로드하여 실행해야한다고 알려줍니다. 일부 튜토리얼에서는 .dll 파일을 Win32 폴더에 추가해야한다고 말하고 다른 사람들은 그냥 프로젝트와 동일한 디렉토리에있는 헤더 파일과 일부는 Visual Studio 자체에이 라이브러리를 설치해야한다고 말합니다.

이러한 접근 방식 중 지금까지 아무 것도 작동하지 않았습니다.

내가 원했던 건 하나의 프로젝트가이 라이브러리를 사용하기 위해서이다. 이것은 현재 나를 위해 작품에 주요 스패너를 던지고있다, 어떤 도움을 주시면 감사하겠습니다.

답변

2

죄송합니다. 쉬운 답변을 드릴 수 없습니다. 저는 수년 동안 Windows에서 OpenGL을 사용 해왔고 고통 스러울 수 있습니다.

MS도 (실제로) OpenGL을 지원하지 않습니다. Windows와 함께 제공되는 헤더는 이전 1.x 것입니다. 그리고 그들은 DX를 사용하려고합니다.

그래서 나는 작을 것입니다.

기본적으로 비어있는 기본적으로 비어있는 Win32 콘솔 "Hello World"앱을 실행하십시오.

그런 다음 은 Glut과 같은 하나의 구성 요소를 추가합니다.

그런 다음 컴파일 - 링크 유지 - 다른 구성 요소를 점진적으로 추가합니다.

헤더, 라이브러리, DLL 등을 넣으라고하면 프로젝트 파일에 반영해야합니다. 그래서 :

  • 은 헤더 파일의 위치를 ​​추가하려면 "C/C++ - 추가 디렉토리 포함>"
  • (이하 "링커 -> 입력 -> 추가 종속성"
  • 에 lib 디렉토리 파일을 추가를 그래도 찾을 수는 없습니다.) .lib 파일의 위치를 ​​"링커 -> 일반 -> 추가 라이브러리 디렉토리"에 추가하십시오.

이 모든 것이 컴파일되어 링크되어야하지만 실행되지 않을 수 있습니다 DLL (.lib 파일과 함께 사용하는 DLL)을 찾을 수 없기 때문에 여전히 그렇습니다.

실행하는 가장 짧은 경로는 DLL을 Windows/System32 폴더에 덤프하는 것일 수 있습니다. 그러나 장기적으로 다른 애플 리케이션이 그것을 덮어 씌우거나 (또는 ​​당신이 그것들을 덮어 쓴 것처럼 보일 수 있기 때문에) 문제가 될 수 있습니다.

특정 DLL을 사용하여 수행하는 작업은 응용 프로그램에서 명시 적으로로드하므로 실제로 어떤 DLL을 사용하는지 알 수 있습니다 (Windows 고유의 GL은 많이 수행하지 않지만 필자는 자체 작업을 수행했습니다. \ OpenGL 디렉토리에 .h 파일, libs 및 DLL이 필요함).

행운을 빌어 요!아,에서 LoadLibrary()가 DLL을로드

+0

감사합니다 마크, 나는 문제 "마이크로 소프트는 그들이 작성하지 않은 당신은 아무것도 사용하지 않으"을 수 있습니다 생각하지 않았다) 나는이 일을 지금 시도 할 것이다. – BouncingCzech

+0

약간의 업데이트로, LoadLibrary로 DLL을로드하는 것 외에는 모든 작업을 처리 할 수있었습니다. 결국에는 Windows의 sysWOW 폴더에있는 DLL을 제거하고 모두 잘되는 것 같습니다. – BouncingCzech

관련 문제