Aren't you missing the object file of your example where you make use of the armadillo ".so" when linking?
In other words, I think you are just missing a file in "emcc -O2 ./libarmadillo.so -o libarmadillo.js", example.o? On Mon, Sep 10, 2018 at 1:32 PM Frédéric Faure <[email protected]> wrote: > Hello, > i would like to use C++ library called armadillo that enable to use > linear algebra, with emscripten: > http://arma.sourceforge.net/ > > I have downloaded armadillo, and I have followed the instructions from > > https://kripken.github.io/emscripten-site/docs/compiling/Building-Projects.html > > so i did: > > ./emconfigure cmake . > then > ./emmake make > > It seems to work, it gives: > Scanning dependencies of target armadillo > [ 33%] Building CXX object CMakeFiles/armadillo.dir/src/wrapper.cpp.o > [ 66%] Linking CXX shared library libarmadillo.so > [100%] Built target armadillo > > > It produces a file: libarmadillo.so > After i write the command: > emcc -O2 ./libarmadillo.so -o libarmadillo.js > > the problem is that the answer is: > > WARNING:root:emcc: cannot find library "armadillo" > ERROR:root:no input files > note that input files without a known suffix are ignored, make sure your > input files end with one of: ('.c', '.C', '.i', '.cpp', '.cxx', '.cc', > '.c++', '.CPP', '.CXX', '.CC', '.C++', '.ii', '.m', '.mi', '.mm', '.mii', > '/dev/null', '.bc', '.o', '.obj', '.lo', '.dylib', '.so', '.a', '.ll', > '.h', '.hxx', '.hpp', '.hh', '.H', '.HXX', '.HPP', '.HH') > > > I don't know how to proceed. Can you help me please? > > > Thanks, > Frédéric Faure. > > ----- > For exemple, my first objective is to be able to use the following simple > code with emscripten: > > #include <iostream> > using namespace std; > > #include <armadillo> > using namespace arma; > > > main () > { > Col<int> V("1 2 3"); // vector > cout<<"V="<<endl<<V<<endl; > Mat<int> M("3 2 1; 4 5 0");// matrix > cout<<"M="<<endl<<M<<endl; > Col<int> W = M * V; // compute the product > cout<<"M*V="<<endl<<W<<endl; > cout<<"Matrix element M(0,0)="<<M(0,0)<<endl; > } > > -- > 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.
