C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[42743] Re:Re:Re:DX90SDK를 설치한다고 D3DX9D.DLL가 생기는 것은 아닌가봐요?
임영우 [xsapiens] 1130 읽음    2005-11-30 21:06
또 문제가 생겼는데요....
그냥 확 다 지우고 다시 설치를 했습니다.(BC++B6 / DXSDK / DSPACK 모두 지우고 다시 설치)
그리고... DSPack234까지 아무 문제 없이 설치가 되었습니다.

새 프로젝트를 하나 열고, 폼 위에 WideoWindows1을 하나 올렸습니다.
그리고 바로 Build All Projects를 했습니다.
그랬더니요... Multiple declaration 오류가 무진장 많아요.
[C++ Error] d3dtypes.h(703): E2238 Multiple declaration for '_D3DLIGHTTYPE'
[C++ Error] d3d9types.h(163): E2344 Earlier declaration of '_D3DLIGHTTYPE'
[C++ Error] d3dtypes.h(704): E2238 Multiple declaration for 'D3DLIGHT_POINT'
[C++ Error] d3d9types.h(164): E2344 Earlier declaration of 'D3DLIGHT_POINT'
.......
수도 없이 많습니다.
그래서 d3dtypes.h 파일과 d3d9types.h를 열어서 오류가 난 부분에 #ifndef/#define/#endif를 사용해서...
------------------------------------
#ifndef D3DLIGHTTYPE
typedef enum _D3DLIGHTTYPE
{어쩌구저쩌구} D3DLIGHTTYPE;
#define D3DLIGHTTYPE
#endif
------------------------------------
요렇게 처리를 했습니다.
그랬더니, 중복선언오류는 안나는데요.... 다른 오류가 생기네요.
d3dtypes.h 파일과 d3d9types.h 파일에서
D3DLIGHTTYPE를 써서 변수를 선언하는 부분이 오류가 발생하는군요.
변수타입이 정의되지 않았다고 오류가 듭니다.
혼자서 해결 해 보려고 header-file을 include한 경로를 쭈....욱 따라가보았으나
저의 실력으로는 추적해서 수정하는 것이 어렵네요.
이렇게 수정 할 것이 아니라... 제가 잘못 한 것인 듯 한데요..
혹시 제가 뭘 잘못했는지 아시나요?

그리고, DSPack234 설치설명서에서요. 아직도 좀 이해가 안가는 문장이 있는데요.
1 - Download the DirectX9 SDK from MS and update the "$(BCB)\Include" directory. You must also updates the DX SDK with the file provided in the "(DSPackDir)\Include" directory.
이 부분입니다.
=> MS에서 DirectX9 SDK를 다운받고 "$(BCB)\Include"디렉터리를 업데이트 하세요.
    DX SDK역시 제공된 "(DSPackDir)\Include"로 업데이트 해야 합니다.
해석은 이러한 듯 한데요.
이 말이 제게는 좀 모호하네요.
(1) DXSDK의 Include디렉터리의 내용을 $(BCB)\Include 와 (DSPackDir)\Include에 덮어 쓰란 말인가요?
----------------------------------------
copy DXSDK/include/*   $(BCB)\Include
copy DXSDK/include/*   (DSPackDir)\Include
----------------------------------------

(2) $(BCB)\Include디렉터리의 내용을  DXSDK의 Include와 (DSPackDir)\Include에 덮어 쓰란 말인가요?
----------------------------------------
copy $(BCB)\Include/*    DXSDK/include
copy $(BCB)\Include/*   (DSPackDir)\Include
----------------------------------------

(3) (DSPackDir)\Include디렉터리의 내용을 $(BCB)\Include 와  DXSDK의 Include에 덮어 쓰란 말인가요?
----------------------------------------
copy  (DSPackDir)\Include/*  $(BCB)\Include
copy (DSPackDir)\Include/*  DXSDK/include
----------------------------------------

위의 (1), (2), (3) 중에 어떤 것이 정답인가요?
혹시 아시는 분 계시면 좀 가르쳐 주세요. ^^;
그럼 오늘도 좋은 밤 되세요... ^^;
.


임영우 님이 쓰신 글 :
: 고맙습니다.
: 저같은 초짜한테도 이렇게 좋은 답을 주시다니... 흑흑. 감격 감격 감격입니다.
: ^^; 당장 다운받아서 해봐야겠네요. ^^; 고맙습니다.
: .
:
: 열씸! 님이 쓰신 글 :
: : DSPACK234 설치하셔도 문제 없습니다.
: : 다만, 헤더화일 수정해야 하는 부분이 조금 있었던것 같은데요.
: : 일전에 누군가 질문해서 답변을 올려 뒀던 기억이 있습니다.
: :
: : 그리고 당췌 모르시겠다고 하셨던 경로를 지정하는 부분은,
: :
: : 빌더 메인 메뉴 -> Project -> Option 에 가시면, Directories 를 설정하는 텝이 있죠.
: :
: : 거기서 include 디렉토리와 library 디렉토리에 각각 그 두 가지 폴더 (DSPACK, DirectX9) 를
: : 추가해 줘야, 그 안에 들어 있는 헤더화일과 라이브러리를 사용할 수 있다는겁니다.
: :
: : 그렇게 경로를 지정해 놓고 Default 체크 해 주고 OK 누르시면, 다른 프로젝트들에도 반영 되겠지요.
: :
: : 필요한 화일들을 첨부해 놓겠습니다.
: :
: : 2.34 버전을 사용하는데 필요한 조치를 적어둔 글 링크입니다. 제가 닉을 사용하게 된 관계로
: : 열씸 닉으론 검색이 안되겠군요.
: : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=38713

+ -

관련 글 리스트
42722 DX90SDK를 설치한다고 D3DX9D.DLL가 생기는 것은 아닌가봐요? 임영우 2618 2005/11/30
42723     Re:DX90SDK를 설치한다고 D3DX9D.DLL가 생기는 것은 아닌가봐요? 열씸! 2002 2005/11/30
42728         Re:Re:DX90SDK를 설치한다고 D3DX9D.DLL가 생기는 것은 아닌가봐요? 임영우 1359 2005/11/30
42744             Re:Re:Re:DX90SDK를 설치한다고 D3DX9D.DLL가 생기는 것은 아닌가봐요? 임영우 1305 2005/11/30
42743             Re:Re:Re:DX90SDK를 설치한다고 D3DX9D.DLL가 생기는 것은 아닌가봐요? 임영우 1130 2005/11/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.