The symbols you specify in EXPORTED_FUNCTIONS must be aware of C and C++ name mangling rules, e.g. if the symbol you are implementing is a C function, then specify _chuckMain. If the function is in a C++ file, you can use extern "C" directive to force C name mangling rule for a C++ function to make it easier for exporting. If all else fails, compile the output to a .bc file, and use llvm-nm to examine what kind of symbols the file actually has compiled into it that you can export.
Jukka 2014-09-09 6:59 GMT+03:00 Arve Knudsen <[email protected]>: > I forgot to mention that the code lives in branch "emscripten" ( > https://github.com/aknuds1/chuck/tree/emscripten). > > Also, I found out in the meantime about exporting C functions with > Emscripten, so I added '-s EXPORTED_FUNCTIONS='["chuckMain"]' to the step > to build chuck.js. Now emcc says that chuckMain is not implemented: WARNING > root: function requested to be exported, but not implemented: "chuckMain". > How come chuckMain isn't detected, what am I doing wrong here? > > Thanks, > Arve > > On Tue, Sep 9, 2014 at 12:42 PM, Arve Knudsen <[email protected]> > wrote: > >> Hi guys >> >> I'm at the point where I'm trying to start generating JavaScript library >> functions from ChucK (https://github.com/aknuds1/chuck). ChucK is >> originally an executable, but I've modified the build procedure to exclude >> the main entry point (int main) and instead include a function called >> chuckMain (intended as a first library function, simply for testing). >> >> How do I now generate a ChucK JS library, exposing the function >> "chuckMain"? I can't see that chuckMain is present at all in the generated >> JS, i.e. chuck.js. >> >> Thanks, >> Arve >> > > -- > 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.
