[llvm-dev] Cross compiling C++ program (original) (raw)

Jonathan Roelofs via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 2 16:48:20 PDT 2017


On 8/2/17 5:28 PM, Goran Mekić via llvm-dev wrote:

Hello,

As a newcomer to the libcxx implementation, I'll probably ask a silly question, but why following example can be compiled natively, but not cross compiled? #include using ::atof; int main() { return 0; } Native compile: clang++ -o example example.cpp Cross compile: clang++ -fno-builtin -fno-exceptions -fcheck-new -nostdlib -ffreestanding -target arm-none-eabi -march=armv7-m -mcpu=cortex-m4 -Wall -Wshadow -Wundef -g -Os -fno-strict-aliasing -fomit-frame-pointer -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -stdlib=libc++ -o example example.cpp Error I get: In file included from example.cpp:1: In file included from /usr/include/c++/v1/cstdlib:85:

I strongly recommend against using the host's headers when cross compiling. You need to either find or build an arm-none-eabi sysroot, and use the --sysroot= flag.

Jon

_/usr/include/c++/v1/config:938:4: error: "No thread API" # error "No thread API" ^ 1 error generated.

Without -stdlib=libc++ I get this error: example.cpp:1:10: fatal error: 'cstdlib' file not found #include ^~~~~~~~~ 1 error generated. My OS is FreeBSD 11.1 and Clang version is 4.0.0. What am I not understanding well enough and could you recommend reading something on the topic? Any help is welcome! Thank you! Regards, meka


LLVM Developers mailing list llvm-dev at lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-- Jon Roelofs jonathan at codesourcery.com CodeSourcery / Mentor Embedded / Siemens



More information about the llvm-dev mailing list