Hi Sam, Thanks for your reply. The Debug error message disappeared, big thanks for this!
The ambiguous error message looks like this: The code section: Face *clone(const vertex_t *old_base, vertex_t *new_base, std::unordered_map <const edge_t *, edge_t *> &edge_map) const; This is from Carve. The full error message is this: In file included from /mnt/c/Works/Dev/wasm/3rdParty/Carve/src/convex_hull.cpp:22: In file included from /mnt/c/Works/Dev/wasm/3rdParty/Carve/include/carve/csg.hpp:28: /mnt/c/Works/Dev/wasm/3rdParty/Carve/include/carve/mesh.hpp:412:70: error: reference to 'unordered_map' is ambiguous Face *clone(const vertex_t *old_base, vertex_t *new_base, std::unordered_map<const edge_t *, edge_t *> &edge_map) const; ^ /mnt/c/Works/Dev/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/unordered_map:1028:28: note: candidate found by name lookup is 'std::__2::unordered_map' class _LIBCPP_TEMPLATE_VIS unordered_map ^ /mnt/c/Works/Dev/wasm/3rdParty/Carve/include/carve/collection/unordered/fallback_impl.hpp:26:9: note: candidate found by name lookup is 'std::unordered_map' class unordered_map : public std::map<K, T> { ^ 'Sam Clegg' via emscripten-discuss <emscripten-discuss@googlegroups.com> ezt írta (időpont: 2023. febr. 9., Cs, 18:31): > > > On Thu, Feb 9, 2023 at 7:27 AM Tibor Kovács <tiberiusfa...@gmail.com> > wrote: > >> Hi all, >> >> I have several problems with the 3.1.31 compiler. I made a CMake for a >> project and with the 3.1.13 it compiled properly. Now I updated to 3.1.31 >> and it doesn't work anymore. I try to compile it in Debug mode with the >> next DEBUG definitions (this is a static library): >> >> set(DEBUG_DEFINITIONS >> _LIBCPP_DEBUG=1 >> _DEBUG >> CMAKE_BUILD >> ) >> >> and the DEBUG_DEFINITIONS are added like this: >> >> target_compile_definitions(${LIBRARY_NAME} >> PRIVATE >> "$<$<CONFIG:DEBUG>:${DEBUG_DEFINITIONS}>" >> ) >> >> Previously it worked but now I have this error message: >> >> /mnt/c/Works/Dev/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__debug:24:5: >> error: "Enabling the debug mode now requires having configured the library >> with support for the debug mode" >> # error "Enabling the debug mode now requires having configured the >> library with support for the debug mode" >> ^ >> 1 error generated. >> > > That looks like libc++ is warning you that you are using a legacy macro: > > // Catch invalid uses of the legacy _LIBCPP_DEBUG toggle. > > #if defined(_LIBCPP_DEBUG) && _LIBCPP_DEBUG != 0 && > !defined(_LIBCPP_ENABLE_DEBUG_MODE) > # error "Enabling the debug mode now requires having configured the > library with support for the debug mode" > #endif > > It looks like you are expected to define _LIBCPP_ENABLE_DEBUG_MODE. I'm > not sure what either of those macros do, but they are not specific to > emscripten, and apply to libc++ in general. > >> >> >> >> It doesn't stop here. If I compile it in Release mode, I'll have this >> error messages: error: reference to 'unordered_map' is ambiguous. AFAIK >> this error message would be generated if the compiler doesn't know the C++ >> version. But I specified it like this: >> >> target_compile_options(${LIBRARY_NAME} >> PRIVATE >> -std=c++2a >> -fwasm-exceptions >> -pthread >> ) >> >> What could be the solution for these errors? >> Thank you in advance the helps. >> >> > Can you share the full error message? And even better a piece of sample > code that generates it? I imagine this is another generic libc++ issue > and not emscripten-specific. > > cheers, > sam > > -- > You received this message because you are subscribed to a topic in the > Google Groups "emscripten-discuss" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/emscripten-discuss/JAjo2Y3N1UQ/unsubscribe > . > To unsubscribe from this group and all its topics, send an email to > emscripten-discuss+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/CAL_va29CMBO65yvAo_XZSyS4pNWv-x%2B%3DFFWdCfVB_Ryasg4iQA%40mail.gmail.com > <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va29CMBO65yvAo_XZSyS4pNWv-x%2B%3DFFWdCfVB_Ryasg4iQA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAJTUF4-jVKSnNXExYq8xW-pLSbRrufZWEMKnFV5T7yN%3DWRpQPg%40mail.gmail.com.