2012-10-15 3 views
1

NV 660을 사용하는 다른 컴퓨터에서 코드를 시도했을 때 DX 10/11, &으로 개발 중이며 d3dx11d_43을 찾을 수 없다고 말했습니다. Visual C++ 2012 32/64 비트 & DirectX 런타임을 다시 설치했지만 여전히 그렇게 말합니다. 사용자가 SDK 등을 설치해야한다고 생각합니다.누락 된 DLL 포함

디버그 정보를 찾을 수 없다는 경고 메시지가 나타납니다.
내가 읽었던 것에서는 디버깅과 관련된 뭔가가 있기 때문입니다. 아무 생각도.

DLL이 전부는 아니더라도 대부분의 게임으로 게임을 컴파일 할 수있는 방법이 있습니까? 여분의 크기는 신경 쓰지 않습니다. 많은 게임의 내용은 사용 된 여분의 DLL보다 중요합니다.

릴리스로 컴파일했습니다.

편집 : 아무도 대답하지 않기 때문에 첫 번째 질문이 삭제되었습니다.

답변

1

리소스 파일에 필요한 dll을 추가 한 다음 리소스 파일을 exe 파일로 컴파일하고 마지막으로 런타임에 리소스 파일을 구문 분석하여 필요한 dll을 얻을 수 있습니다. 여기 similar question입니다.보세요.

+0

SDK의 d3d11 런타임이나 요소는 이러한 방식으로 재배포 할 수있는 라이센스가 없으므로 이론상 Microsoft가 저작권으로 보호 된 자료를 불법적으로 배포 한 경우 Microsoft가 Microsoft에서 기소 할 가능성이 거의 없습니다. 릴리스 버전을 빌드해야합니다 (또는 다른 컴퓨터에 SDK를 설치해야합니다. 디버그 DLL이 필요하다면) – jcoder

+0

사실이 아니므로 SDK의 redist 폴더에있는 런타임 라이브러리는 재배포 권한이 있습니다. 이 스레드에서 대답. http://stackoverflow.com/questions/12926493/directx-game-with-no-prerequisite-software-to-run/12926765#12926765 – zdd

+0

내가 배포 할 수있는 방법에 대한 조건이 있다고 생각하지만 잘못된 것일 수 있습니다. . 내 의견이 정확하지 않은 경우 사과드립니다. – jcoder

0

d3dx11d_43은 릴리스 빌드가 아닌 디버그 빌드를 수행 할 때 프로그램과 연결되는 d3dx11_43의 디버그 버전입니다. 디버그 버전은 SDK에서만 DirectX 런타임 설치 프로그램에 포함되어 있지 않습니다.

라이센스에서 배포하는 것을 허용하지 않습니다.

코드의 빌드 버전을 배포하고 배포해야하며 그렇지 않은 경우 사용자가 SDK를 설치해야합니다.

관련 문제