첫 예제 Helloworld 실행시, 컴파일 에러는 없는데 계속 콘솔창이 잠깐 떴다 꺼지는경우.
"동적 라이브러리에 있는 함수를 사용하는 프로그램인데. 그 함수를 가지고 있는 동적라이브러리 파일이 시스템에 안잡혀서 그런듯 합니다.
님이 사용하는 함수중에 윈도우 기본 dll이 아닌 특정 dll에 있는 함수가 있을 것입니다. 그 함수가 정의되어 있는 dll파일을 프로그램과 같이 배포하셔야 다른 컴퓨터에서도 동작을 할 수 있습니다.
같이 배포를 원치 않다면 함수를 static library로 exe에 포함시켜야 합니다.
링크과정에서 처리되는 것이기 때문에 링크옵션쪽에서 만져주면 됩니다."
즉 시스템에서 이 helloworld파일에서 사용된 함수에 대한 dll파일을 인식못하는 문제이므로
alt+f7에서 디버그 옵션에서 working directory를 현재 실행파일이 있는 디렉토리로 설정해주면 된다
그래도 안되는경우는 그냥 cpp 내에서 파일 읽어오는 경로를 설정해주는 수밖에 없다
<참고>
윈도우 프로그램에서 dll을 찾는 순서는
1. 클라이언트 프로그램이 포함된 디렉토리
2. 윈도우즈의 시스템 디렉토리
3. 윈도우즈 디렉토리
4. PATH 환경변수가 지정하는 모든 디렉토리
라고 한다.
휴 이 간단한 화면볼려고 몇시간을 헤맸는지 모르겠네
이거 덕분에 동적 라이브러리 링크(dll) 파일 공부도 하고
어떻게 돌아가는지 까지 덤으로 알아냈다-_=;
젠장할.
'컴퓨터 공학 자료(학부) > OpenGL' 카테고리의 다른 글
3d max 파일 loader for OPENGL (0) | 2010.05.25 |
---|---|
그래픽스 MFC+openGL 연동 그림판 (0) | 2010.05.04 |
OpenGL+MFC 연동 그림판 참고 자료들 (0) | 2010.05.04 |
MFC - 다이얼로그 생성시 발생되는 메세지들... (0) | 2010.05.01 |
OpenGL이용한 행성의 공전,자전 구현 (0) | 2010.04.21 |