Hi,

While compiling our code with the newest emscripten (1.36.5) I encountered 
the following warning while linking:

warning: unresolved symbol: _ZN5prezi4PathC2ENS_6PathIDEPKc

(which demangles to prezi::Path::Path(prezi::PathID, char const*))

I checked the generated JS source and under this function, I found the 
expected placeholder function:

  function __ZN5prezi4PathC2ENS_6PathIDEPKc() {
  Module['printErr']('missing function: _ZN5prezi4PathC2ENS_6PathIDEPKc'); 
abort(-1);
  }

But I also found the actual function definition under a slightly different 
name:
function __ZN5prezi4PathC2ENS_6PathIDEPKc_127($this, $base_path, $str) {
 [... the correct JS code ...]
 return;
}

Notice the trailing _127 in the symbol name.

If I move the implementation to the header from the cpp I don't get the 
warning and the code works.
The cpp is definitely compiled and linked to the executable. There are lots 
of other functions which don't cause any linker warnings or runtime issues.

We used 1.34.1 before, and that didn't have such issue.

Any ideas? Why is the symbol postfixed with _127?

As a workaround I can rearrange the functions, but I want to understand why 
this happens if possible.

Thanks,
Andras

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to