wasm-ld fails while linking
wasm-ld: error: symbol type mimsatch: memcpy
>>> defined as WASM_SYMBOL_TYPE_DATA in libcliente_LIB.a(Server.cpp.o)
>>> defined as WASM_SYMBOL_TYPE_FUNCTION in deps/store/libStore.a(EmscriptenStore.cpp.o)
It fails on all mem funcs, memset, memcpy, memmove.
Thing is, both libcliente_LIB & libStore were just built with the same arguments, and including <string> from the same place.
I've tried building with -save-temps and checking the .ii files:
EmscriptenStore.cpp.ii
# 24 "C:\\emsdk\\upstream\\emscripten\\system\\include\\libc\\string.h" 2 3
void *memcpy (void *__restrict, const void *__restrict, size_t);
void *memmove (void *, const void *, size_t);
void *memset (void *, int, size_t);
Server.cpp.ii
# 24 "C:\\emsdk\\upstream\\emscripten\\system\\include\\libc\\string.h" 2 3
void *memcpy (void *__restrict, const void *__restrict, size_t);
void *memmove (void *, const void *, size_t);
void *memset (void *, int, size_t);
Unless I'm understanding all wrong, if they are exactly the same on the .ii file, then they point to the same symbol on the .o file.
Why wasm-ld complains it is WASM_SYMBOL_TYPE_DATA in Server.cpp.o when the .ii shows it is a function?
Aucun commentaire:
Enregistrer un commentaire