'nvidia sdk'에 해당되는 글 1건
- 2010.06.19 Win7에서 nvidia sdk 9.5 샘플 빌드하기
더 자세한 테스트결과 운영체제랑은 크게 상관없는 걸로 결론지었습니다.
따라서 아래 글은 일부 틀린 부분도 있지만, 어느정도는 맞기 때문에 삭제하지 않겠습니다.
가장 큰 에러 요인은 단연 라이브러리 버전인데요. 웃긴점은 NVIDIA에서 요구하는 라이브러리를 똑같이 갖추어도 재컴파일해야하는 점이네요. NVIDIA 9.5SDK에서 요구하는 라이브러리들은 DXSDK 2006 Feb, DXSDK extra Lib, 등이었는데 똑같이 해주어도 컴파일이 되지 않았습니다. 무슨 이유죠? 참 ㅋㅋ
XP에서 테스트해본결과 똑같은 에러가 났구요. 단, DXSDK를 맞추어주시면 Sound관련 교차컴파일 에러는 나지 않습니다. 단, 링크에러는 계속 발생하는데 아래에 나온대로 재빌드해주셔야합니다. 바로 C:\Program Files\NVIDIA Corporation\SDK 9.5\LIBS\Release.sln 이 솔루션이 되겠죠. 자세한건 아래 글을 읽어보세요.
............
nvidia sdk 9.5의 샘플들 중 군침도는 샘플이 많은데..
정작 이걸 컴파일하려고하면 기괴한 링크 에러가 난다..
보아하니 dxut.lib가 포함되지 않아 생긴 오류 같아서.. dxut.lib를 찾아나섰다..
dxsdk august 2009의 샘플 DXUT폴더로 가서 아래 프로젝트 열고 의 dxut를 컴파일한 후 lib폴더에 추가해줬지만.. 역시 실패.
C:\Program Files\Microsoft DirectX SDK (August 2009)\Samples\C++\DXUT\Core\DXUTCore_2008.sln
최신버전의 dxut랑 호환이 안맞는다고 판단..(DX는 이런 경우가 많다.) 혹시나 nvidia sdk 폴더에 있지 않을까 생각되서 찾아들어가봤다. 역시 nvidia sdk의 하위폴더에 있었다. 기쁜 마음에 추가해서 실행해봤는데, 역시 실패.
C:\Program Files\NVIDIA Corporation\SDK 9.5\LIBS\lib\Debug\DXUT.lib
이유가 뭔가 또 곰곰이 생각해봤더니.. 문득 nvidia sdk의 샘플을 실행하면 알수없는 에러로 꺼지는 경우가 많았는데, 이것은 운영체제 때문은 아닐까 생각을 하곤 했었는데.. 갑자기 그게 떠올랐다.
그래서 아래 솔루션을 연 후, DXUT프로젝트만 재빌드..
C:\Program Files\NVIDIA Corporation\SDK 9.5\LIBS\Release.sln
여러가지 라이브러리를 위한 프로젝트들의 모임이다. 이 중 DXUT 프로젝트만 빌드하면된다.
여러가지 라이브러리를 위한 프로젝트들의 모임이다. 이 중 DXUT 프로젝트만 빌드하면된다.
아래 폴더로 들어가보니.. 와우, DXUT.lib가 오늘자로 변경되어있다.
C:\Program Files\NVIDIA Corporation\SDK 9.5\LIBS\lib\Debug\DXUT.lib
다시 처음으로 돌아와서..
샘플을 재빌드해보면... 성공이다.
여담이지만, dxsdk는 버전을 좀 타는 편이기 때문에.. 이상한 에러가 특히 많은 것 같다..
해당 샘플들은 dxsdk 몇에서 제작되었는지는 잘 모르겠다.. 뭔가 통일되어있지도 않은 느낌. 어떤 프로젝트는 for루프 범위 강제규칙까지도.. 아니오로 바꿔줘야한다........................ 나 같은 경우는 DirectSound쪽 에러가 많이 나던데.. 전형적인 교차포함 에러가 나는것으로 보아.. include가 여기저기서 꼬여있는 듯 하다.
그래서 딱 DirectSound쪽 소스는 프로젝트에서 제거하고 사운드관련 헤더파일을 모두 주석처리하니 에러는 없어졌다. 단, 사운드를 활용하는 샘플에서는 치명적일수도 있겠지만....