Qt 6.2.2 Webassembly - sign conversion errors
-
Hi,
I am trying to port a Qt 6.2.2 C++ application to Webassembly on OpenSuSE Leap 15.3. Compilation as an executable works just fine. When I try to compile with emscripten (version 2.0.14 as requested according to the documentation), I get a lot of signbit and type conversion errors.
It looks to me that the 9er subtree (equivalent to /usr/include/c++/9) is not available in the ...cache/sysroot/include/c++ tree of the emscripten installation. In this path, I find only the v1 subdir which to me looks like the problem.
Thanks for your help and kind regards
AxelTwo examples of error messages below
In file included from ../WhiteEngine/WhiteIncludes.h:14: In file included from /opt/Qt/6.2.2/wasm_32/include/QtCore/QDateTime:1: In file included from /opt/Qt/6.2.2/wasm_32/include/QtCore/qdatetime.h:44: In file included from /opt/Qt/6.2.2/wasm_32/include/QtCore/qstring.h:50: In file included from /opt/Qt/6.2.2/wasm_32/include/QtCore/qchar.h:43: In file included from /opt/Qt/6.2.2/wasm_32/include/QtCore/qglobal.h:1430: In file included from /opt/Qt/6.2.2/wasm_32/include/QtCore/qnumeric.h:44: /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/cmath:317:9: error: no member named 'signbit' in the global namespace; did you mean '__signbit'? using ::signbit; ~~^ /usr/include/bits/mathcalls-helper-functions.h:25:20: note: '__signbit' declared here __MATHDECL_1 (int, __signbit,, (_Mdouble_ __value)) In file included from ../WhiteEngine/WhiteIncludes.h:6: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/iostream:37: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/ios:215: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__locale:14: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string:504: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string_view:175: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__string:57: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/algorithm:643: In file included from /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/memory:653: /home/mnt/axel/CloudStation/download/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/typeinfo:221:16: error: reinterpret_cast from 'std::__type_info_implementations::__non_unique_arm_rtti_bit_impl::__type_name_t' (aka 'unsigned int') to 'size_t' (aka 'unsigned long') is not allowed return reinterpret_cast<size_t>(__v);
-
Without having the faintest of clues about the actual problem, at a glance it looks to me like some missing/incomplete/bogus library support issue. I suggest you bring this to the mailing list, we don't get much traffic for wasm here.