Linking issue with eosio-ld

481 Views Asked by At

I'm trying to build my EOS smart contract using eosio.cdt and via cmake.
Compilation succeeded, but linking failed with below log.

/usr/local/eosio.cdt/bin/wasm-ld: error: locale.cpp.o: undefined symbol: strftime_l
/usr/local/eosio.cdt/bin/wasm-ld: error: memory.cpp.o: undefined symbol: __cxa_pure_virtual
/usr/local/eosio.cdt/bin/wasm-ld: error: system_error.cpp.o: undefined symbol: __cxa_pure_virtual

The code for linking module generated by cmake is as below.

eosio-ld -L=/usr/local/eosio.cdt/lib/ CMakeFiles/a.wasm.dir/a.cpp.o CMakeFiles/a.wasm.dir/validator/b.cpp.o CMakeFiles/a.wasm.dir/validator/c.cpp.o CMakeFiles/a.wasm.dir/common/d.cpp.o -o a.wasm

libc++.a exists in /usr/local/eosio.cdt/lib/.

How can I fix this problem?

1

There are 1 best solutions below

4
On

Just include <eosiolib/eosio.hpp> header file.