That sounds like https://github.com/kripken/emscripten/issues/4234
As mentioned there the upcoming LLVM merge will hopefully help, but that hasn't been verified yet. On Fri, Aug 5, 2016 at 8:26 AM, 'Andras Kucsma' via emscripten-discuss < [email protected]> wrote: > 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. > -- 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.
