Программы на C++. Форум разработчиков
Anonymous
Компоновщик не может найти библиотеку, хотя библиотека находится в пути поиска
Сообщение
Anonymous » 04 июл 2024, 00:06
Я использую команду ниже для кросс-компиляции aarch64 на платформе linux-x86_64, но компоновщик не может найти libstdc++, хотя /usr/aarch64-linux-gnu/lib/libstdc++.so.6 действительно существует, может кто-нибудь знает, почему ? большое спасибо
Код: Выделить всё
clear && /usr/bin/clang++ -v --target=aarch64-linux-gnu \
--sysroot=/usr/aarch64-linux-gnu \
-I/usr/aarch64-linux-gnu/include \
-I/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include \
-I/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/aarch64-unknown-linux-gnu/c++/v1 \
-I/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/c++/v1 \
-B/usr/aarch64-linux-gnu/bin \
-L/usr/aarch64-linux-gnu/lib \
main.cc
вывод звука
Код: Выделить всё
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/11
Found candidate GCC installation: /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12
Selected GCC installation: /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
"/usr/lib/llvm-14/bin/clang" -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cc -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=non-leaf -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu generic -target-feature +neon -target-feature +v8a -target-abi aapcs -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -v -fcoverage-compilation-dir=/root/src/software -resource-dir /usr/lib/llvm-14/lib/clang/14.0.0 -I /usr/aarch64-linux-gnu/include -I /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include -I /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/aarch64-unknown-linux-gnu/c++/v1 -I /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/c++/v1 -isysroot /usr/aarch64-linux-gnu -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++ -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/aarch64-linux-gnu -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/backward -internal-isystem /usr/lib/llvm-14/lib/clang/14.0.0/include -internal-isystem /usr/aarch64-linux-gnu/usr/local/include -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include -internal-externc-isystem /usr/aarch64-linux-gnu/include -internal-externc-isystem /usr/aarch64-linux-gnu/usr/include -fdeprecated-macro -fdebug-compilation-dir=/root/src/software -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fcolor-diagnostics -target-feature +outline-atomics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/main-886dff.o -x c++ main.cc
clang -cc1 version 14.0.0 based upon LLVM 14.0.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/aarch64-unknown-linux-gnu/c++/v1"
ignoring nonexistent directory "/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/aarch64-linux-gnu"
ignoring nonexistent directory "/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/backward"
ignoring nonexistent directory "/usr/aarch64-linux-gnu/usr/local/include"
ignoring nonexistent directory "/usr/aarch64-linux-gnu/usr/include"
ignoring duplicate directory "/usr/aarch64-linux-gnu/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/usr/aarch64-linux-gnu/include"
#include "..." search starts here:
#include search starts here:
/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include
/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/c++/v1
/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++
/usr/lib/llvm-14/lib/clang/14.0.0/include
/usr/aarch64-linux-gnu/include
End of search list.
"/usr/aarch64-linux-gnu/bin/ld" --sysroot=/usr/aarch64-linux-gnu -pie -EL -z relro --hash-style=gnu --build-id --eh-frame-hdr -m aarch64linux -dynamic-linker /lib/ld-linux-aarch64.so.1 -o a.out /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/Scrt1.o /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/crti.o /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/crtbeginS.o -L/usr/aarch64-linux-gnu/lib -L/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12 -L/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib -L/usr/aarch64-linux-gnu/lib /tmp/main-886dff.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/crtendS.o /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/crtn.o
/usr/aarch64-linux-gnu/bin/ld: cannot find -lstdc++: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Подробнее здесь:
https://stackoverflow.com/questions/787 ... earch-path
1720040796
Anonymous
Я использую команду ниже для кросс-компиляции aarch64 на платформе linux-x86_64, но компоновщик не может найти libstdc++, хотя /usr/aarch64-linux-gnu/lib/libstdc++.so.6 действительно существует, может кто-нибудь знает, почему ? большое спасибо [code]clear && /usr/bin/clang++ -v --target=aarch64-linux-gnu \ --sysroot=/usr/aarch64-linux-gnu \ -I/usr/aarch64-linux-gnu/include \ -I/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include \ -I/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/aarch64-unknown-linux-gnu/c++/v1 \ -I/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/c++/v1 \ -B/usr/aarch64-linux-gnu/bin \ -L/usr/aarch64-linux-gnu/lib \ main.cc [/code] вывод звука [code]Ubuntu clang version 14.0.0-1ubuntu1.1 Target: aarch64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/bin Found candidate GCC installation: /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/11 Found candidate GCC installation: /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12 Selected GCC installation: /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12 Candidate multilib: .;@m64 Selected multilib: .;@m64 "/usr/lib/llvm-14/bin/clang" -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cc -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=non-leaf -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu generic -target-feature +neon -target-feature +v8a -target-abi aapcs -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -v -fcoverage-compilation-dir=/root/src/software -resource-dir /usr/lib/llvm-14/lib/clang/14.0.0 -I /usr/aarch64-linux-gnu/include -I /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include -I /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/aarch64-unknown-linux-gnu/c++/v1 -I /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/c++/v1 -isysroot /usr/aarch64-linux-gnu -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++ -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/aarch64-linux-gnu -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/backward -internal-isystem /usr/lib/llvm-14/lib/clang/14.0.0/include -internal-isystem /usr/aarch64-linux-gnu/usr/local/include -internal-isystem /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include -internal-externc-isystem /usr/aarch64-linux-gnu/include -internal-externc-isystem /usr/aarch64-linux-gnu/usr/include -fdeprecated-macro -fdebug-compilation-dir=/root/src/software -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fcolor-diagnostics -target-feature +outline-atomics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/main-886dff.o -x c++ main.cc clang -cc1 version 14.0.0 based upon LLVM 14.0.0 default target x86_64-pc-linux-gnu ignoring nonexistent directory "/root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/aarch64-unknown-linux-gnu/c++/v1" ignoring nonexistent directory "/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/aarch64-linux-gnu" ignoring nonexistent directory "/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++/backward" ignoring nonexistent directory "/usr/aarch64-linux-gnu/usr/local/include" ignoring nonexistent directory "/usr/aarch64-linux-gnu/usr/include" ignoring duplicate directory "/usr/aarch64-linux-gnu/include" as it is a non-system directory that duplicates a system directory ignoring duplicate directory "/usr/aarch64-linux-gnu/include" #include "..." search starts here: #include search starts here: /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include /root/src/software/clang+llvm-14.0.0-aarch64-linux-gnu/include/c++/v1 /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../include/c++ /usr/lib/llvm-14/lib/clang/14.0.0/include /usr/aarch64-linux-gnu/include End of search list. "/usr/aarch64-linux-gnu/bin/ld" --sysroot=/usr/aarch64-linux-gnu -pie -EL -z relro --hash-style=gnu --build-id --eh-frame-hdr -m aarch64linux -dynamic-linker /lib/ld-linux-aarch64.so.1 -o a.out /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/Scrt1.o /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/crti.o /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/crtbeginS.o -L/usr/aarch64-linux-gnu/lib -L/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12 -L/usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib -L/usr/aarch64-linux-gnu/lib /tmp/main-886dff.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/crtendS.o /usr/bin/../lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/crtn.o /usr/aarch64-linux-gnu/bin/ld: cannot find -lstdc++: No such file or directory clang: error: linker command failed with exit code 1 (use -v to see invocation) [/code] [img]https://i.sstatic.net/mLWLnnKD.png[/img] Подробнее здесь: [url]https://stackoverflow.com/questions/78704147/linker-cannot-find-library-even-though-library-in-search-path[/url]
Почему компоновщик MSVC «Инкрементный компоновщик Microsoft (R)» (link.exe) игнорирует переданные библиотеки при правиль
Anonymous »
26 сен 2024, 07:02 » в форуме
C++
Хорошо, я прохожу через ад, пытаясь скомпилировать программу для Windows, которая довольно легко компилируется в Linux, и я сузил ее до одной команды, сгенерированной CMake, чей флаг компоновщика, похоже, не делает того, что должен. должно быть.
Вот...
0 Ответы
19 Просмотры
Последнее сообщение Anonymous
26 сен 2024, 07:02
Компоновщик не может найти SDL2 и SDL2main? [дубликат]
Гость »
30 сен 2023, 22:16 » в форуме
C++
Я использовал SDL2 для C++, запустил код и постоянно получаю столько ошибок.
Я думаю, что проблема в компиляции. Я использую VS Code и MinGW-w64 (на самом деле я использую «пакет» под названием winlibs, который также поставляется с Clang, так что...
0 Ответы
78 Просмотры
Последнее сообщение Гость
30 сен 2023, 22:16
0 Ответы
56 Просмотры
Последнее сообщение Anonymous
31 окт 2023, 07:42
Компоновщик не может найти PortAudio? [закрыто]
Anonymous »
03 янв 2024, 17:00 » в форуме
C++
Скриншот кода VS
Мы разрабатываем файл C++, используя сообщество VS Code в качестве IDE и Windows в качестве нашей ОС. При этом мы сталкиваемся с ошибкой «Не удалось найти файл portaudio» (не удалось инициализировать Portaudio), см. снимок...
0 Ответы
20 Просмотры
Последнее сообщение Anonymous
03 янв 2024, 17:00
Как компоновщик узнает, где найти файл dll
Anonymous »
09 июл 2024, 05:45 » в форуме
C++
Я работаю с Visual Studio и пытаюсь разобраться с dll. Мне интересно, как компоновщик знает, где найти DLL только из файла lib.
Я указываю файл lib и его местоположение в настройках проекта, но где указано местоположение связанного с ним файла dll?...
0 Ответы
16 Просмотры
Последнее сообщение Anonymous
09 июл 2024, 05:45