DirectX의 X64와 X86 라이브러리 파일의 차이점은 무엇입니까?
-
19-09-2019 - |
문제
최근에 새 컴퓨터에 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 비트 운영 체제를 대상으로 코드를 컴파일하여이를 성공적으로 연결하도록해야합니다.