llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.92k stars 11.52k forks source link

'stdlib.h' file not found or lld cannot open crt1.o/crti.o/crtn.o: no such file or directory #55592

Closed House-Men closed 11 months ago

House-Men commented 2 years ago

My host env = Windows10(x64) + CMake3.23.1 + Ninja1.11.0 + Clang14.0.3 clang version 14.0.3 Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: D:\Program Files\LLVM\bin

Target host pack = gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf

During compilation issue 1:

include_next <stdlib.h> can't find error

Reason is clang auto search add -isystem Header file order error

include_directories(
    SYSTEM
    ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include/c++/8.2.1
    ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf
    ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include/c++/8.2.1/backward
    ${CMAKE_SYSROOT}/lib/gcc/arm-linux-gnueabihf/8.2.1/include
    ${CMAKE_SYSROOT}/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed
    ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include
    ${CMAKE_SYSROOT}/arm-linux-gnueabihf/libc/usr/include
    )

By Manual setting resolved It is not clear whether the automatic addition of -isystem can be ignored ? Later I learned that it can be -nostdinc shielded.

issue 2:

ld.lld: error: cannot open crt1.o/crti.o/crtn.o: no such file or directory
cmake set link_directories(${CMAKE_SYSROOT}/arm-linux-gnueabihf/libc/usr/lib) can't solve
cmake set target_link_libraries(demo ${CMAKE_SYSROOT}/arm-linux-gnueabihf/libc/usr/lib/crt1.o ...) can't solve

Unable to find a solution, I had no choice but to find another way

mklink %SYSROOT%/arm-linux-gnueabihf/libc/usr/lib/crt1.o %SYSROOT%/arm-linux-gnueabihf/lib
mklink %SYSROOT%/arm-linux-gnueabihf/libc/usr/lib/crti.o  %SYSROOT%/arm-linux-gnueabihf/lib
mklink %SYSROOT%/arm-linux-gnueabihf/libc/usr/lib/crtn.o %SYSROOT%/arm-linux-gnueabihf/lib

The automatic search is successful only when the position is changed finally Is there no way to set this path ? After cmake is manually set, multiple duplicates of - l param are automatically added. There is no way to ignore the automatically added - L param ? After comparing arm-linux-gnueabi-g++ -v , I try

set(CMAKE_SYSROOT E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc)
add_link_options(--gcc-toolchain=${CMAKE_SYSROOT}/../..)

After setting, the automatic search of Inc and lib by clang is normal. But I haven't found how to manually set clang to search the crtlib directory, maybe only by setting -nostdlib to make -l path/crtx.o take effect.

Error detail log:

[build] Starting build
[proc] Executing command: "D:\Program Files\CMake\bin\cmake.EXE" --build e:/ProjectDir/VSC/CMake/demo/build/arm-linux-gnueabihf --parallel 26 --config Release --target demo
[build] [1/2] Building CXX object CMakeFiles/demo.dir/Release/src/main.cpp.o
[build] clang version 14.0.3
[build] Target: arm-unknown-linux-gnueabihf
[build] Thread model: posix
[build] InstalledDir: D:\Program Files\LLVM\bin
[build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1
[build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1
[build] Candidate multilib: .;@m32
[build] Selected multilib: .;@m32
[build]  (in-process)
[build]  "D:\\Program Files\\LLVM\\bin\\clang++.exe" -cc1 -triple armv6kz-unknown-linux-gnueabihf -emit-obj --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -mrelocation-model static -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu arm1176jzf-s -Wunaligned-access -target-feature +vfp2 -target-feature +vfp2sp -target-feature -vfp3 -target-feature -vfp3d16 -target-feature -vfp3d16sp -target-feature -vfp3sp -target-feature -fp16 -target-feature -vfp4 -target-feature -vfp4d16 -target-feature -vfp4d16sp -target-feature -vfp4sp -target-feature -fp-armv8 -target-feature -fp-armv8d16 -target-feature -fp-armv8d16sp -target-feature -fp-armv8sp -target-feature -fullfp16 -target-feature +fp64 -target-feature -d32 -target-feature -neon -target-feature -sha2 -target-feature -aes -target-feature -fp16fml -target-feature +strict-align -target-abi aapcs-linux -mfloat-abi hard -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -v "-fcoverage-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -resource-dir "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3" -dependency-file "CMakeFiles\\demo.dir\\Release\\src\\main.cpp.o.d" -MT CMakeFiles/demo.dir/Release/src/main.cpp.o -sys-header-deps -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1 -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include -D _NDEBUG -D "CMAKE_INTDIR=\"Release\"" -I E:/ProjectDir/VSC/CMake/demo/src -D NDEBUG -isysroot E:/packages/arm-linux-gnueabihf-8.2 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/backward -internal-isystem "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3\\include" -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/local/include -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/include -O3 -Wall -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/demo.dir/Release/src/main.cpp.o -x c++ E:/ProjectDir/VSC/CMake/demo/src/main.cpp
[build] clang -cc1 version 14.0.3 based upon LLVM 14.0.3 default target x86_64-pc-windows-msvc
[build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/local/include"
[build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/include"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include"
[build] #include "..." search starts here:
[build] #include <...> search starts here:
[build]  E:/ProjectDir/VSC/CMake/demo/src
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward
[build]  E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include
[build]  E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include
[build]  D:\Program Files\LLVM\lib\clang\14.0.3\include
[build]  E:/packages/arm-linux-gnueabihf-8.2/include
[build] End of search list.
[build] [2/2] Linking CXX executable ..\..\bin\arm_Linux\Release\demo
[build] FAILED: ../../bin/arm_Linux/Release/demo 
[build] cmd.exe /C "cd . && "D:\Program Files\LLVM\bin\clang++.exe" --target=arm-linux-gnueabihf --sysroot=E:/packages/arm-linux-gnueabihf-8.2 -O3 -DNDEBUG -v -fuse-ld=lld -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ -pthread CMakeFiles/demo.dir/Release/src/main.cpp.o -o ..\..\bin\arm_Linux\Release\demo -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1   -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc   -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/lib   -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/lib   -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/lib   -LE:/ProjectDir/VSC/CMake/demo/bin/arm_Linux  && cd ."
[build] clang version 14.0.3
[build] Target: arm-unknown-linux-gnueabihf
[build] Thread model: posix
[build] InstalledDir: D:\Program Files\LLVM\bin
[build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1
[build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1
[build] Candidate multilib: .;@m32
[build] Selected multilib: .;@m32
[build]  "D:\\Program Files\\LLVM\\bin\\ld.lld" --sysroot=E:/packages/arm-linux-gnueabihf-8.2 -EL -X --eh-frame-hdr -m armelf_linux_eabi -dynamic-linker /lib/ld-linux-armhf.so.3 -o "..\\..\\bin\\arm_Linux\\Release\\demo" crt1.o crti.o "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtbegin.o" -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/lib -LE:/ProjectDir/VSC/CMake/demo/bin/arm_Linux -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib CMakeFiles/demo.dir/Release/src/main.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtend.o" crtn.o
[build] ld.lld: error: cannot open crt1.o: no such file or directory
[build] ld.lld: error: cannot open crti.o: no such file or directory
[build] ld.lld: error: cannot open crtn.o: no such file or directory
[build] clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[build] ninja: build stopped: subcommand failed.
[build] Build finished with exit code 1

Success detail log:
[build] Starting build
[proc] Executing command: "D:\Program Files\CMake\bin\cmake.EXE" --build e:/ProjectDir/VSC/CMake/demo/build/arm-linux-gnueabihf --parallel 26 --config Release --target demo
[build] [1/2] Building CXX object CMakeFiles/demo.dir/Release/src/main.cpp.o
[build] clang version 14.0.3
[build] Target: arm-unknown-linux-gnueabihf
[build] Thread model: posix
[build] InstalledDir: D:\Program Files\LLVM\bin
[build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1
[build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1
[build] Candidate multilib: .;@m32
[build] Selected multilib: .;@m32
[build]  (in-process)
[build]  "D:\\Program Files\\LLVM\\bin\\clang++.exe" -cc1 -triple armv6kz-unknown-linux-gnueabihf -emit-obj --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -mrelocation-model static -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu arm1176jzf-s -Wunaligned-access -target-feature +vfp2 -target-feature +vfp2sp -target-feature -vfp3 -target-feature -vfp3d16 -target-feature -vfp3d16sp -target-feature -vfp3sp -target-feature -fp16 -target-feature -vfp4 -target-feature -vfp4d16 -target-feature -vfp4d16sp -target-feature -vfp4sp -target-feature -fp-armv8 -target-feature -fp-armv8d16 -target-feature -fp-armv8d16sp -target-feature -fp-armv8sp -target-feature -fullfp16 -target-feature +fp64 -target-feature -d32 -target-feature -neon -target-feature -sha2 -target-feature -aes -target-feature -fp16fml -target-feature +strict-align -target-abi aapcs-linux -mfloat-abi hard -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -v "-fcoverage-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -resource-dir "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3" -dependency-file "CMakeFiles\\demo.dir\\Release\\src\\main.cpp.o.d" -MT CMakeFiles/demo.dir/Release/src/main.cpp.o -sys-header-deps -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1 -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include -D _NDEBUG -D "CMAKE_INTDIR=\"Release\"" -I E:/ProjectDir/VSC/CMake/demo/src -D NDEBUG -isysroot E:/packages/arm-linux-gnueabihf-8.2 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/backward -internal-isystem "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3\\include" -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/local/include -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/include -O3 -Wall -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/demo.dir/Release/src/main.cpp.o -x c++ E:/ProjectDir/VSC/CMake/demo/src/main.cpp
[build] clang -cc1 version 14.0.3 based upon LLVM 14.0.3 default target x86_64-pc-windows-msvc
[build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/local/include"
[build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/include"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward"
[build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include"
[build] #include "..." search starts here:
[build] #include <...> search starts here:
[build]  E:/ProjectDir/VSC/CMake/demo/src
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward
[build]  E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include
[build]  E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include
[build]  E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include
[build]  D:\Program Files\LLVM\lib\clang\14.0.3\include
[build]  E:/packages/arm-linux-gnueabihf-8.2/include
[build] End of search list.
[build] [2/2] Linking CXX executable ..\..\bin\arm_Linux\Release\demo
[build] clang version 14.0.3
[build] Target: arm-unknown-linux-gnueabihf
[build] Thread model: posix
[build] InstalledDir: D:\Program Files\LLVM\bin
[build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1
[build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1
[build] Candidate multilib: .;@m32
[build] Selected multilib: .;@m32
[build]  "D:\\Program Files\\LLVM\\bin\\ld.lld" --sysroot=E:/packages/arm-linux-gnueabihf-8.2 -EL -X --eh-frame-hdr -m armelf_linux_eabi -dynamic-linker /lib/ld-linux-armhf.so.3 -o "..\\..\\bin\\arm_Linux\\Release\\demo" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib\\crt1.o" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib\\crti.o" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtbegin.o" -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/lib -LE:/ProjectDir/VSC/CMake/demo/bin/arm_Linux -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib CMakeFiles/demo.dir/Release/src/main.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtend.o" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib\\crtn.o"
[build] Build finished with exit code 0
Endilll commented 11 months ago

@House-Men Do you still experience this with Clang 17 or trunk?

llvmbot commented 11 months ago

@llvm/issue-subscribers-clang-driver

My host env = Windows10(x64) + CMake3.23.1 + Ninja1.11.0 + Clang14.0.3 clang version 14.0.3 Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: D:\Program Files\LLVM\bin Target host pack = gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf During compilation issue 1: ```console include_next <stdlib.h> can't find error ``` Reason is clang auto search add `-isystem` Header file order error ```cmake include_directories( SYSTEM ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include/c++/8.2.1 ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include/c++/8.2.1/backward ${CMAKE_SYSROOT}/lib/gcc/arm-linux-gnueabihf/8.2.1/include ${CMAKE_SYSROOT}/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed ${CMAKE_SYSROOT}/arm-linux-gnueabihf/include ${CMAKE_SYSROOT}/arm-linux-gnueabihf/libc/usr/include ) ``` By Manual setting resolved It is not clear whether the automatic addition of `-isystem` can be ignored ? Later I learned that it can be -nostdinc shielded. issue 2: ```console ld.lld: error: cannot open crt1.o/crti.o/crtn.o: no such file or directory cmake set link_directories(${CMAKE_SYSROOT}/arm-linux-gnueabihf/libc/usr/lib) can't solve cmake set target_link_libraries(demo ${CMAKE_SYSROOT}/arm-linux-gnueabihf/libc/usr/lib/crt1.o ...) can't solve ``` Unable to find a solution, I had no choice but to find another way ```ps mklink %SYSROOT%/arm-linux-gnueabihf/libc/usr/lib/crt1.o %SYSROOT%/arm-linux-gnueabihf/lib mklink %SYSROOT%/arm-linux-gnueabihf/libc/usr/lib/crti.o %SYSROOT%/arm-linux-gnueabihf/lib mklink %SYSROOT%/arm-linux-gnueabihf/libc/usr/lib/crtn.o %SYSROOT%/arm-linux-gnueabihf/lib ``` The automatic search is successful only when the position is changed finally Is there no way to set this path ? After cmake is manually set, multiple duplicates of - l param are automatically added. There is no way to ignore the automatically added - L param ? After comparing arm-linux-gnueabi-g++ -v , I try ```cmake set(CMAKE_SYSROOT E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc) add_link_options(--gcc-toolchain=${CMAKE_SYSROOT}/../..) ``` After setting, the automatic search of Inc and lib by clang is normal. But I haven't found how to manually set clang to search the crtlib directory, maybe only by setting -nostdlib to make -l path/crtx.o take effect. Error detail log: ```console [build] Starting build [proc] Executing command: "D:\Program Files\CMake\bin\cmake.EXE" --build e:/ProjectDir/VSC/CMake/demo/build/arm-linux-gnueabihf --parallel 26 --config Release --target demo [build] [1/2] Building CXX object CMakeFiles/demo.dir/Release/src/main.cpp.o [build] clang version 14.0.3 [build] Target: arm-unknown-linux-gnueabihf [build] Thread model: posix [build] InstalledDir: D:\Program Files\LLVM\bin [build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1 [build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 [build] Candidate multilib: .;@m32 [build] Selected multilib: .;@m32 [build] (in-process) [build] "D:\\Program Files\\LLVM\\bin\\clang++.exe" -cc1 -triple armv6kz-unknown-linux-gnueabihf -emit-obj --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -mrelocation-model static -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu arm1176jzf-s -Wunaligned-access -target-feature +vfp2 -target-feature +vfp2sp -target-feature -vfp3 -target-feature -vfp3d16 -target-feature -vfp3d16sp -target-feature -vfp3sp -target-feature -fp16 -target-feature -vfp4 -target-feature -vfp4d16 -target-feature -vfp4d16sp -target-feature -vfp4sp -target-feature -fp-armv8 -target-feature -fp-armv8d16 -target-feature -fp-armv8d16sp -target-feature -fp-armv8sp -target-feature -fullfp16 -target-feature +fp64 -target-feature -d32 -target-feature -neon -target-feature -sha2 -target-feature -aes -target-feature -fp16fml -target-feature +strict-align -target-abi aapcs-linux -mfloat-abi hard -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -v "-fcoverage-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -resource-dir "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3" -dependency-file "CMakeFiles\\demo.dir\\Release\\src\\main.cpp.o.d" -MT CMakeFiles/demo.dir/Release/src/main.cpp.o -sys-header-deps -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1 -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include -D _NDEBUG -D "CMAKE_INTDIR=\"Release\"" -I E:/ProjectDir/VSC/CMake/demo/src -D NDEBUG -isysroot E:/packages/arm-linux-gnueabihf-8.2 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/backward -internal-isystem "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3\\include" -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/local/include -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/include -O3 -Wall -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/demo.dir/Release/src/main.cpp.o -x c++ E:/ProjectDir/VSC/CMake/demo/src/main.cpp [build] clang -cc1 version 14.0.3 based upon LLVM 14.0.3 default target x86_64-pc-windows-msvc [build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/local/include" [build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/include" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include" [build] #include "..." search starts here: [build] #include <...> search starts here: [build] E:/ProjectDir/VSC/CMake/demo/src [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1 [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward [build] E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include [build] E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include [build] D:\Program Files\LLVM\lib\clang\14.0.3\include [build] E:/packages/arm-linux-gnueabihf-8.2/include [build] End of search list. [build] [2/2] Linking CXX executable ..\..\bin\arm_Linux\Release\demo [build] FAILED: ../../bin/arm_Linux/Release/demo [build] cmd.exe /C "cd . && "D:\Program Files\LLVM\bin\clang++.exe" --target=arm-linux-gnueabihf --sysroot=E:/packages/arm-linux-gnueabihf-8.2 -O3 -DNDEBUG -v -fuse-ld=lld -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ -pthread CMakeFiles/demo.dir/Release/src/main.cpp.o -o ..\..\bin\arm_Linux\Release\demo -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/lib -LE:/ProjectDir/VSC/CMake/demo/bin/arm_Linux && cd ." [build] clang version 14.0.3 [build] Target: arm-unknown-linux-gnueabihf [build] Thread model: posix [build] InstalledDir: D:\Program Files\LLVM\bin [build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1 [build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 [build] Candidate multilib: .;@m32 [build] Selected multilib: .;@m32 [build] "D:\\Program Files\\LLVM\\bin\\ld.lld" --sysroot=E:/packages/arm-linux-gnueabihf-8.2 -EL -X --eh-frame-hdr -m armelf_linux_eabi -dynamic-linker /lib/ld-linux-armhf.so.3 -o "..\\..\\bin\\arm_Linux\\Release\\demo" crt1.o crti.o "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtbegin.o" -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/lib -LE:/ProjectDir/VSC/CMake/demo/bin/arm_Linux -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib CMakeFiles/demo.dir/Release/src/main.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtend.o" crtn.o [build] ld.lld: error: cannot open crt1.o: no such file or directory [build] ld.lld: error: cannot open crti.o: no such file or directory [build] ld.lld: error: cannot open crtn.o: no such file or directory [build] clang++: error: linker command failed with exit code 1 (use -v to see invocation) [build] ninja: build stopped: subcommand failed. [build] Build finished with exit code 1 Success detail log: [build] Starting build [proc] Executing command: "D:\Program Files\CMake\bin\cmake.EXE" --build e:/ProjectDir/VSC/CMake/demo/build/arm-linux-gnueabihf --parallel 26 --config Release --target demo [build] [1/2] Building CXX object CMakeFiles/demo.dir/Release/src/main.cpp.o [build] clang version 14.0.3 [build] Target: arm-unknown-linux-gnueabihf [build] Thread model: posix [build] InstalledDir: D:\Program Files\LLVM\bin [build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1 [build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 [build] Candidate multilib: .;@m32 [build] Selected multilib: .;@m32 [build] (in-process) [build] "D:\\Program Files\\LLVM\\bin\\clang++.exe" -cc1 -triple armv6kz-unknown-linux-gnueabihf -emit-obj --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -mrelocation-model static -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu arm1176jzf-s -Wunaligned-access -target-feature +vfp2 -target-feature +vfp2sp -target-feature -vfp3 -target-feature -vfp3d16 -target-feature -vfp3d16sp -target-feature -vfp3sp -target-feature -fp16 -target-feature -vfp4 -target-feature -vfp4d16 -target-feature -vfp4d16sp -target-feature -vfp4sp -target-feature -fp-armv8 -target-feature -fp-armv8d16 -target-feature -fp-armv8d16sp -target-feature -fp-armv8sp -target-feature -fullfp16 -target-feature +fp64 -target-feature -d32 -target-feature -neon -target-feature -sha2 -target-feature -aes -target-feature -fp16fml -target-feature +strict-align -target-abi aapcs-linux -mfloat-abi hard -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -v "-fcoverage-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -resource-dir "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3" -dependency-file "CMakeFiles\\demo.dir\\Release\\src\\main.cpp.o.d" -MT CMakeFiles/demo.dir/Release/src/main.cpp.o -sys-header-deps -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1 -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include -isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include -isystem E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include -D _NDEBUG -D "CMAKE_INTDIR=\"Release\"" -I E:/ProjectDir/VSC/CMake/demo/src -D NDEBUG -isysroot E:/packages/arm-linux-gnueabihf-8.2 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1 -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include/c++/8.2.1/backward -internal-isystem "D:\\Program Files\\LLVM\\lib\\clang\\14.0.3\\include" -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/local/include -internal-isystem E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/include -internal-externc-isystem E:/packages/arm-linux-gnueabihf-8.2/usr/include -O3 -Wall -std=gnu++11 -fdeprecated-macro "-fdebug-compilation-dir=E:\\ProjectDir\\VSC\\CMake\\demo\\build\\arm-linux-gnueabihf" -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/demo.dir/Release/src/main.cpp.o -x c++ E:/ProjectDir/VSC/CMake/demo/src/main.cpp [build] clang -cc1 version 14.0.3 based upon LLVM 14.0.3 default target x86_64-pc-windows-msvc [build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/local/include" [build] ignoring nonexistent directory "E:/packages/arm-linux-gnueabihf-8.2/usr/include" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward" [build] ignoring duplicate directory "E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include" [build] #include "..." search starts here: [build] #include <...> search starts here: [build] E:/ProjectDir/VSC/CMake/demo/src [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1 [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/arm-linux-gnueabihf [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include/c++/8.2.1/backward [build] E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include [build] E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/include-fixed [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/include [build] E:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/include [build] D:\Program Files\LLVM\lib\clang\14.0.3\include [build] E:/packages/arm-linux-gnueabihf-8.2/include [build] End of search list. [build] [2/2] Linking CXX executable ..\..\bin\arm_Linux\Release\demo [build] clang version 14.0.3 [build] Target: arm-unknown-linux-gnueabihf [build] Thread model: posix [build] InstalledDir: D:\Program Files\LLVM\bin [build] Found candidate GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf\8.2.1 [build] Selected GCC installation: E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 [build] Candidate multilib: .;@m32 [build] Selected multilib: .;@m32 [build] "D:\\Program Files\\LLVM\\bin\\ld.lld" --sysroot=E:/packages/arm-linux-gnueabihf-8.2 -EL -X --eh-frame-hdr -m armelf_linux_eabi -dynamic-linker /lib/ld-linux-armhf.so.3 -o "..\\..\\bin\\arm_Linux\\Release\\demo" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib\\crt1.o" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib\\crti.o" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtbegin.o" -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/lib -LE:/packages/arm-linux-gnueabihf-8.2/arm-linux-gnueabihf/libc/usr/lib -LE:/ProjectDir/VSC/CMake/demo/bin/arm_Linux -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1 -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib/../lib -LE:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../arm-linux-gnueabihf/lib -LE:/packages/arm-linux-gnueabihf-8.2/lib -LE:/packages/arm-linux-gnueabihf-8.2/usr/lib CMakeFiles/demo.dir/Release/src/main.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1\\crtend.o" "E:/packages/arm-linux-gnueabihf-8.2/lib/gcc/arm-linux-gnueabihf/8.2.1/../../../../lib\\crtn.o" [build] Build finished with exit code 0 ```