I’ve cloned the whole https://github.com/KhronosGroup/OpenXR-SDK-Source repository to my desktop, and have run cmake (using “Visual Studio 16 2019”) generating the OPENXR.sln. Opening that solution, I right click on it and hit “build”. There were a whole lot of successes, and a couple failures. Mostly linker errors that appear to be referring to D3D.
So, is there some step I should be doing to explicitly link D3D? Or was cmake supposed to take care of that? What else do I need to do?
1>------ Build started: Project: generate_openxr_header, Configuration: Debug x64 ------
2>------ Build started: Project: xr_global_generated_files, Configuration: Debug x64 ------
3>------ Build started: Project: generated_layer_json_files, Configuration: Debug x64 ------
4>------ Build started: Project: run_hello_xr_glsl_compiles, Configuration: Debug x64 ------
5>------ Build started: Project: copy-api_dump-def-file, Configuration: Debug x64 ------
6>------ Build started: Project: copy-core_validation-def-file, Configuration: Debug x64 ------
7>------ Build started: Project: copy-test-def-file, Configuration: Debug x64 ------
8>------ Build started: Project: copy-test_runtime-def-file, Configuration: Debug x64 ------
9>------ Skipped Build: Project: uninstall, Configuration: Debug x64 ------
9>Project not selected to build for this solution configuration
10>------ Build started: Project: hello_xr, Configuration: Debug x64 ------
11>------ Build started: Project: loader_test, Configuration: Debug x64 ------
11>loader_test.obj : error LNK2019: unresolved external symbol D3D11CreateDevice referenced in function "void __cdecl TestCreateDestroySession(unsigned int &,unsigned int &,unsigned int &,unsigned int &)" (?TestCreateDestroySession@@YAXAEAI000@Z)
11>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86\d3d11.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
11>C:\Users\phildo\Desktop\oxr-src-build\build\win64\src\tests\loader_test\Debug\loader_test.exe : fatal error LNK1120: 1 unresolved externals
10>d3d_common.obj : error LNK2019: unresolved external symbol CreateDXGIFactory1 referenced in function "class Microsoft::WRL::ComPtr<struct IDXGIAdapter1> __cdecl GetAdapter(struct _LUID)" (?GetAdapter@@YA?AV?$ComPtr@UIDXGIAdapter1@@@WRL@Microsoft@@U_LUID@@@Z)
10>d3d_common.obj : error LNK2019: unresolved external symbol D3DCompile referenced in function "class Microsoft::WRL::ComPtr<struct ID3D10Blob> __cdecl CompileShader(char const *,char const *,char const *)" (?CompileShader@@YA?AV?$ComPtr@UID3D10Blob@@@WRL@Microsoft@@PEBD00@Z)
10>graphicsplugin_d3d11.obj : error LNK2019: unresolved external symbol D3D11CreateDevice referenced in function "void __cdecl `anonymous namespace'::InitializeD3D11DeviceForAdapter(struct IDXGIAdapter1 *,class std::vector<enum D3D_FEATURE_LEVEL,class std::allocator<enum D3D_FEATURE_LEVEL> > const &,struct ID3D11Device * *,struct ID3D11DeviceContext * *)" (?InitializeD3D11DeviceForAdapter@?A0xdfe2e81b@@YAXPEAUIDXGIAdapter1@@AEBV?$vector@W4D3D_FEATURE_LEVEL@@V?$allocator@W4D3D_FEATURE_LEVEL@@@std@@@std@@PEAPEAUID3D11Device@@PEAPEAUID3D11DeviceContext@@@Z)
10>graphicsplugin_d3d12.obj : error LNK2019: unresolved external symbol D3D12SerializeRootSignature referenced in function "public: void __cdecl `anonymous namespace'::D3D12GraphicsPlugin::InitializeResources(void)" (?InitializeResources@D3D12GraphicsPlugin@?A0x59769ab5@@QEAAXXZ)
10>graphicsplugin_d3d12.obj : error LNK2019: unresolved external symbol D3D12CreateDevice referenced in function "void __cdecl `anonymous namespace'::InitializeD3D12DeviceForAdapter(struct IDXGIAdapter1 *,enum D3D_FEATURE_LEVEL,struct ID3D12Device * *)" (?InitializeD3D12DeviceForAdapter@?A0x59769ab5@@YAXPEAUIDXGIAdapter1@@W4D3D_FEATURE_LEVEL@@PEAPEAUID3D12Device@@@Z)
10>graphicsplugin_d3d12.obj : error LNK2019: unresolved external symbol D3D12GetDebugInterface referenced in function "void __cdecl `anonymous namespace'::InitializeD3D12DeviceForAdapter(struct IDXGIAdapter1 *,enum D3D_FEATURE_LEVEL,struct ID3D12Device * *)" (?InitializeD3D12DeviceForAdapter@?A0x59769ab5@@YAXPEAUIDXGIAdapter1@@W4D3D_FEATURE_LEVEL@@PEAPEAUID3D12Device@@@Z)
10>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86\d3d11.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
10>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86\dxgi.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
10>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86\d3dcompiler.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
11>Done building project "loader_test.vcxproj" -- FAILED.
10>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86\d3d12.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
10>C:\Users\phildo\Desktop\oxr-src-build\build\win64\src\tests\hello_xr\Debug\hello_xr.exe : fatal error LNK1120: 6 unresolved externals
10>Done building project "hello_xr.vcxproj" -- FAILED.
12>------ Skipped Build: Project: INSTALL, Configuration: Debug x64 ------
12>Project not selected to build for this solution configuration
========== Build: 8 succeeded, 2 failed, 9 up-to-date, 2 skipped ==========