#Does anyone know how to build the HelloWindow project from the DirectX-Graphics-Samples library

1 messages · Page 1 of 1 (latest)

low summit
#

this my build system

const std = @import("std");
const Builder = std.Build;
pub fn build(b: *Builder) void {
    const target = b.standardTargetOptions(.{});
    const optimize = b.standardOptimizeOption(.{});
    const module = b.addModule("main", .{
        .target = target,
        .optimize = optimize,
        .link_libcpp = true,
    });
    module.addCSourceFiles(.{
        .files = &[_][]const u8{
            "D3D12HelloWindow.cpp",
            "DXSample.cpp",
            "Main.cpp",
            "stdafx.cpp",
            "Win32Application.cpp",
        },
        .flags = &[_][]const u8{
            "-std=c++20",
            "-I.",
            "-Iinclude",
            "-Iinclude/d3dx12",
            "-Wno-switch",
            "-Wno-switch-enum",
            "-DUNICODE",
            "-D_UNICODE",
            "-DWIN32_LEAN_AND_MEAN",
            "-DNOMINMAX",
            "-D_CRT_SECURE_NO_WARNINGS",
        },
    });
    const exe = b.addExecutable(.{
        .name = "hello",
        .root_module = module,
    });
    const windows_libs = &[_][]const u8{
        "kernel32",
        "user32",
        "gdi32",
        "winspool",
        "comdlg32",
        "advapi32",
        "shell32",
        "ole32",
        "oleaut32",
        "uuid",
    };
    for (windows_libs) |lib| {
        exe.linkSystemLibrary(lib);
    }
    exe.linkSystemLibrary("d3d12");
    exe.linkSystemLibrary("dxgi");
    b.installArtifact(exe);
}

#

then build got this error

error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12Device>()
(D3D12HelloWindow::LoadPipeline())
error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12CommandQueue>()
(D3D12HelloWindow::LoadPipeline())
error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12DescriptorHeap>()
(D3D12HelloWindow::LoadPipeline())
error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12Resource>()
(D3D12HelloWindow::LoadPipeline())
error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12CommandAllocator>()
(D3D12HelloWindow::LoadPipeline())
error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12GraphicsCommandList>()
(D3D12HelloWindow::LoadPipeline())
error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12GraphicsCommandList>()
(D3D12HelloWindow::LoadAssets())
error: lld-link: undefined symbol: _GUID const& __mingw_uuidof<ID3D12Fence>()
(D3D12HelloWindow::LoadAssets())
:(D3D12HelloWindow::LoadAssets())

how to fix?

stoic relic