I'm going to document this for others.  You need to put an underscore in
front of the function name for C functions.

--Robert

On Mon, May 15, 2017 at 3:34 PM, Robert Hostetter <
[email protected]> wrote:

> I have a simpler test that exhibits the same problem.  If I try to compile
> zlib as follows:
> cd ~/code
> git clone https://github.com/madler/zlib.git
> cd zlib
> emcmake cmake . -DCMAKE_BUILD_TYPE=Release  -DBUILD_SHARED_LIBS=no
> make
>
> and then run
> emcc libz.a -o libz-asm.js -s EXPORTED_FUNCTIONS="['deflate']"
>
> I get the error
> WARNING:root:function requested to be exported, but not implemented:
> "deflate"
>
> This is about the simplest test I can run.  I also tried using the so file
> it makes and get the same error.  What is the proper way to do this?
>
> --Robert
>
> On Mon, May 15, 2017 at 3:03 PM, Robert Hostetter <
> [email protected]> wrote:
>
>> I've been working to get tesseract 4.0 compiled using emscripten so I can
>> use it in a javascript project.  It has a dependency of leptonica, which
>> has a ton of dependencies as well.  All told there are 8 libraries in
>> total.  One by one I worked through getting them to compile using emcmake
>> or emmake, often I had to modify their CMakeLists.txt file to get them to
>> allow me to pass the location of the libraries on the command line during
>> the build process.  I have them all compiled now as static libraries.  I'm
>> now trying to turn them into one big javascript file.  I'm using this
>> command:
>>
>> emcc libz.a libgif.a libjpeg.a liblzma.a libpng.a libtiff.a
>> libleptonica.a liblibtesseract.a -o javascript/libtesseract-asm.js -s
>> EXPORTED_FUNCTIONS="['TessBaseAPICreate', 'TessBaseAPIInit3',
>> 'TessBaseAPISetImage2', 'TessBaseAPIRecognize', 'TessBaseAPIGetUTF8Text',
>> 'TessDeleteText','TessBaseAPIEnd','TessBaseAPIDelete','pixDestroy',
>> 'pixRead','pixReadMem']"
>>
>> Two of those exported functions are from Leptonica (the last two) and the
>> rest are from Tesseract.  When I run that command without the export
>> functions it works makes a 3.5MB javascript file with a ton of mangled
>> looking names.  When I try to use the export functions it says they don't
>> exist.  I have tried to follow the directions on the site as best I can,
>> but I don't understand where to go from here.  If someone could point me in
>> the right direction I would appreciate it.
>>
>> --Robert
>>
>
>

-- 
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