문제

최근에 새 컴퓨터에 Visual Studio를 얻었고 DirectX를 설정하기 위해 도구> 옵션> 프로젝트 및 솔루션> VC ++ 디렉토리로 가서 라이브러리 파일에서 새 항목을 만들었습니다. C:\Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86

그리고 이제 테스트 프로그램 (본질적으로 초기화 된 DirectX)을 실행했으며 잘 작동했습니다. 그러나 내가 변하면 ...\Lib\x86 에게 ...\Lib\x64, 링커 오류를 얻는 것보다 Direct3DCreate9 정의되지 않았습니다 :

1>main.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "void __cdecl init(void)" (?init@@YAXXZ)
도움이 되었습니까?

해결책

X86 라이브러리는 32 비트 응용 프로그램이며 X64 라이브러리는 64 비트 응용 프로그램입니다.

Visual Studio의 구성 관리자에서 어떤 플랫폼을 대상으로하는지 확인할 수 있습니다. 64 비트 앱은 64 비트 버전의 Windows를 실행해야하므로 32 비트 응용 프로그램을 작성해야합니다.

다른 팁

그만큼 x64 폴더에는 AMD64 플랫폼의 라이브러리 파일이 포함되어 있습니다 (Windows 64 비트). 응용 프로그램을 64 비트에 컴파일해야합니다. 또한 생산 된 실행 파일을 실행하려면 64 비트 버전의 Windows가 필요합니다.

간단한 대답은 X86 라이브러리가 32 비트 운영 체제를위한 것이며 X64 라이브러리는 64 비트 운영 체제를위한 것입니다.

링크 된 DirectX 라이브러리를 변경하면 32 비트 코드를 64 비트 라이브러리에 연결하려고하는 것처럼 오류가 발생합니다. 64 비트 운영 체제를 대상으로 코드를 컴파일하여이를 성공적으로 연결하도록해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top