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?
Just include
<eosiolib/eosio.hpp>
header file.