What is the correct way to compile simple programs with llvm-toolchain for android?

435 views
Skip to first unread message

Aleksei Kuzmenko

unread,
Dec 1, 2019, 5:33:59 PM12/1/19
to android-llvm
Hi guys, 
Hope you're doing well. 

I am just tinkering around the llvm-toolchain and can't figure out the way to compile a hello-world program for my android(aarch64).

I managed to compile the program with prebuilt ndk(r20, clang 8.0.7, just static executable)

Android (5220042 based on r346389c) clang version 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf643d27dbca1bb228957008617) (https://android.googlesource.com/toolchain/llvm 3c393fe7a7e13b0fba4ac75a01aa683d7a5b11cd) (based on LLVM 8.0.7svn)
Target: aarch64-unknown-linux-android29
Thread model: posix
InstalledDir: /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin
Found candidate GCC installation: /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x
Selected GCC installation: /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x
Candidate multilib: .;@m64
Selected multilib: .;@m64
 "/media/alekum/toshiba/Development/aosp/llvm-toolchain/toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++" -cc1 -triple aarch64-unknown-linux-android29 -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -static-define -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu generic -target-feature +neon -target-abi aapcs -mllvm -aarch64-fix-cortex-a53-835769=1 -fallow-half-arguments-and-returns -dwarf-column-info -debugger-tuning=gdb -v -resource-dir /media/alekum/toshiba/Development/aosp/llvm-toolchain/toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/8.0.7 -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1 -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/local/include -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/8.0.7/include -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/aarch64-linux-android -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/include -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include -fdeprecated-macro -fdebug-compilation-dir /media/alekum/toshiba/Development/cpp/prefetch -ferror-limit 19 -fmessage-length 0 -fno-signed-char -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o /tmp/main-d87c3c.o -x c++ main.cpp
clang -cc1 version 8.0.7 based upon LLVM 8.0.7svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroo1t/include"
#include "..." search starts here:
#include <...> search starts here:
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/local/include
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/8.0.7/include
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/aarch64-linux-android
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include
End of search list.
 "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld" -EL --fix-cortex-a53-843419 -z now -z relro --hash-style=gnu --enable-new-dtags --eh-frame-hdr -m aarch64linux -static -o main.android /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android/29/crtbegin_static.o -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/8.0.7/lib/linux/aarch64 -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/lib/../lib64 -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android/29 -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/lib -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib /tmp/main-d87c3c.o -lc++ -lm --start-group -lgcc -lc --end-group /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/../toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android/29/crtend_android.o



but I'd like to play with clang-10 which I'm building myself. And, I still have no idea about what flags should be passed to the compiler. I played with some options:

Android (master based on r370808) clang version 10.0.1 (https://android.googlesource.com/toolchain/llvm-project 6e765c10313d15c02ab29977a82938f66742c3a9)
Target: aarch64-unknown-linux-android28
Thread model: posix
InstalledDir: /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin
 "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/clang-10" -cc1 -triple aarch64-unknown-linux-android28 -emit-obj -mrelax-all -mnoexecstack -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -static-define -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mframe-pointer=all -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu generic -target-feature +neon -target-abi aapcs -mllvm -aarch64-fix-cortex-a53-835769=1 -fallow-half-arguments-and-returns -dwarf-column-info -debugger-tuning=gdb -v -resource-dir /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1 -isysroot /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64 -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/../include/c++/v1 -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/local/include -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1/include -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include/aarch64-linux-android -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/include -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include -fdeprecated-macro -fdebug-compilation-dir /media/alekum/toshiba/Development/cpp/prefetch -ferror-limit 19 -fmessage-length 0 -fno-signed-char -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o /tmp/main-4afc15.o -x c++ main.cpp
clang -cc1 version 10.0.1 based upon LLVM 10.0.1svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/local/include"
ignoring nonexistent directory "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/include"
#include "..." search starts here:
#include <...> search starts here:
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/../include/c++/v1
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1/include
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include/aarch64-linux-android
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include
End of search list.
 "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/ld.lld" --sysroot=/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64 -z noexecstack -EL --fix-cortex-a53-843419 --warn-shared-textrel -z now -z relro -z max-page-size=4096 --hash-style=gnu --enable-new-dtags --eh-frame-hdr -m aarch64linux -static -o main.android1 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/lib/crtbegin_static.o -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/.././toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/.././toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9.x/ -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1/lib/linux/aarch64 -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/lib /tmp/main-4afc15.o -lc++ -lm --start-group -lgcc -lc --end-group /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/lib/crtend_android.o
ld.lld: error: unable to find library -lc++
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)

Nevertheless, I was not able to compile my program. 

So my questions are:
1) What folder in sysroots should be used for compilation, ndk or platform?
2) Is it ok to use the paths of the prebuilt ndk r20 to compile the programs even though the compiler version is lower?


Thank you in advance.
Alex.

Aleksei Kuzmenko

unread,
Dec 1, 2019, 5:49:42 PM12/1/19
to android-llvm
Android (master based on r370808) clang version 10.0.1 (https://android.googlesource.com/toolchain/llvm-project 6e765c10313d15c02ab29977a82938f66742c3a9)
Target: aarch64-unknown-linux-android28
Thread model: posix
InstalledDir: /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin
 "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/clang-10" -cc1 -triple aarch64-unknown-linux-android28 -emit-obj -mrelax-all -mnoexecstack -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -static-define -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mframe-pointer=all -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu generic -target-feature +neon -target-abi aapcs -mllvm -aarch64-fix-cortex-a53-835769=1 -fallow-half-arguments-and-returns -dwarf-column-info -debugger-tuning=gdb -v -resource-dir /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1 -isysroot /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64 -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/../include/c++/v1 -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/local/include -internal-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1/include -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include/aarch64-linux-android -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/include -internal-externc-isystem /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include -fdeprecated-macro -fdebug-compilation-dir /media/alekum/toshiba/Development/cpp/prefetch -ferror-limit 19 -fmessage-length 0 -fno-signed-char -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o /tmp/main-dab758.o -x c++ main.cpp
clang -cc1 version 10.0.1 based upon LLVM 10.0.1svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/local/include"
ignoring nonexistent directory "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/include"
#include "..." search starts here:
#include <...> search starts here:
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/../include/c++/v1
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1/include
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include/aarch64-linux-android
 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/include
End of search list.
 "/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/bin/ld.lld" --sysroot=/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64 -z noexecstack -EL --fix-cortex-a53-843419 --warn-shared-textrel -z now -z relro -z max-page-size=4096 --hash-style=gnu --enable-new-dtags --eh-frame-hdr -m aarch64linux -static -o main.android1 /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/lib/crtbegin_static.o -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/.././toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/29/ -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/.././toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/.././toolchain/prebuilts/ndk/r20/toolchains/llvm/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9.x/ -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/install/linux-x86/clang-master/lib64/clang/10.0.1/lib/linux/aarch64 -L/media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/lib /tmp/main-dab758.o -lc++ -lm --start-group -lgcc -lc --end-group /media/alekum/toshiba/Development/aosp/llvm-toolchain/out/sysroots/ndk/arm64/usr/lib/crtend_android.o
ld.lld: error: undefined symbol: std::__1::cout
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(main)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(main)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(main)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(main)

ld.lld: error: undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned int)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(main)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(main)

ld.lld: error: undefined symbol: std::__1::random_device::random_device(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init)

ld.lld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char))
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char))

ld.lld: error: undefined symbol: std::__1::random_device::~random_device()
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init)

ld.lld: error: undefined symbol: std::__1::random_device::operator()()
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init.1)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init.1)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init.1)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init.1)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(__cxx_global_var_init.1)

ld.lld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<std::nullptr_t>(char const*))

ld.lld: error: undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&))

ld.lld: error: undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&))

ld.lld: error: undefined symbol: std::__1::__vector_base_common<true>::__throw_length_error() const
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >::__recommend(unsigned long) const)

ld.lld: error: undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long))

ld.lld: error: undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long))
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long))

ld.lld: error: undefined symbol: std::__1::ios_base::__set_badbit_and_consider_rethrow()
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long))

ld.lld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(unsigned long, char))

ld.lld: error: undefined symbol: std::__1::ios_base::getloc() const
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const)

ld.lld: error: undefined symbol: std::__1::locale::~locale()
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const)

ld.lld: error: undefined symbol: std::__1::ctype<char>::id
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&))
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&))

ld.lld: error: undefined symbol: std::__1::locale::use_facet(std::__1::locale::id&) const
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&))

ld.lld: error: undefined symbol: std::__1::ios_base::clear(unsigned int)
>>> referenced by main.cpp
>>>               /tmp/main-dab758.o:(std::__1::ios_base::setstate(unsigned int))
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)


It's a full log.
Reply all
Reply to author
Forward
0 new messages