Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation errors with Emscripten in example_glfw_wgpu due to missing members and undeclared identifiers #8270

Open
chaxus opened this issue Dec 29, 2024 · 0 comments

Comments

@chaxus
Copy link

chaxus commented Dec 29, 2024

Version/Branch of Dear ImGui:

Latest master

Back-ends:

imgui_impl_glfw + imgui_impl_wgpu

Compiler, OS:

ubuntu:

PRETTY_NAME="Ubuntu 24.04 LTS" 
NAME="Ubuntu" VERSION_ID="24.04" 
VERSION="24.04 LTS (Noble Numbat)" 
VERSION_CODENAME=noble 
ID=ubuntu 
ID_LIKE=debian 
HOME_URL="https://www.ubuntu.com/" 
SUPPORT_URL="https://help.ubuntu.com/" 
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" 
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" 
UBUNTU_CODENAME=noble 
LOGO=ubuntu-logo

Emscripten:

emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.6 ()
Ubuntu clang version 15.0.7
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /usr/bin

Full config/build information:

imgui/examples/example_glfw_wgpu

Details:

To build the project, navigate to the example_glfw_wgpu/ directory and run make -f Makefile.emscripten.

root@b4bcfa261c37:/home/imgui/examples/example_glfw_wgpu# make -f Makefile.emscripten
em++ -DIMGUI_DISABLE_FILE_FUNCTIONS -I../.. -I../../backends -Wall -Wformat -Os -s DISABLE_EXCEPTION_CATCHING=1  -c -o main.o main.cpp
main.cpp:221:27: error: no member named 'depthSlice' in 'WGPURenderPassColorAttachment'
        color_attachments.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED;
        ~~~~~~~~~~~~~~~~~ ^
main.cpp:221:40: error: use of undeclared identifier 'WGPU_DEPTH_SLICE_UNDEFINED'
        color_attachments.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED;
                                       ^
main.cpp:224:27: error: no member named 'clearValue' in 'WGPURenderPassColorAttachment'
        color_attachments.clearValue = { clear_color.x * clear_color.w, clear_color.y * clear_color.w, clear_color.z * clear_color.w, clear_color.w };
        ~~~~~~~~~~~~~~~~~ ^
main.cpp:329:30: error: no member named 'MoveToCHandle' in 'wgpu::Instance'
    wgpu_instance = instance.MoveToCHandle();
                    ~~~~~~~~ ^
main.cpp:330:28: error: no member named 'MoveToCHandle' in 'wgpu::Surface'
    wgpu_surface = surface.MoveToCHandle();
                   ~~~~~~~ ^
5 errors generated.
em++: error: '/usr/bin/clang++-15 -target wasm32-unknown-emscripten -DEMSCRIPTEN -D__EMSCRIPTEN_major__=3 -D__EMSCRIPTEN_minor__=1 -D__EMSCRIPTEN_tiny__=6 -fignore-exceptions -fno-inline-functions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D_LIBCPP_ABI_VERSION=2 -fno-threadsafe-statics -Werror=implicit-function-declaration -Xclang -iwithsysroot/include/SDL --sysroot=/usr/share/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -DIMGUI_DISABLE_FILE_FUNCTIONS -I../.. -I../../backends -Wall -Wformat -Os -c main.cpp -o main.o' failed (returned 1)
make: *** [Makefile.emscripten:70: main.o] Error 1

How do I solve this problem, thank you very much.

Screenshots/Video:

No response

Minimal, Complete and Verifiable Example code:

imgui/examples/example_glfw_wgpu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants