Clang++ не может связываться с libstdС++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Clang++ не может связываться с libstdС++

Сообщение Anonymous »

HelloWorld скомпилирован, но не может быть связан с libstdc++ с помощью clang 3.3.
Обнаружены заголовки libstdc++, и файл скомпилирован. Хотя я использую clang++ для связывания и передал -Lpath, где находится libstdc++.a, он не может найти std.
Я пробовал GCC с теми же путями и LD_LIBRARY_PATH, и он смог скомпилировать и связать.

Вывод компиляции и компоновки Clang:

Код: Выделить всё

01-25 12:15:55.611: INFO/System.out(5848): clang++ -c -g -v -DIDE=ArduinoDroid -B/system/lib -B/data/data/name.antonsmirnov.android.arduinodroid/sdk/binutils-compact#2.23#1/lib -B/data/data/name.antonsmirnov.android.arduinodroid/sdk/ndk-sysroot-armel-16#r9c#1/arm-linux-androideabi/lib -I/data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/include/c++/4.8 -I/data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/include/c++/4.8/arm-linux-androideabi -I/data/data/name.antonsmirnov.android.arduinodroid/sdk/ndk-sysroot-armel-16#r9c#1/arm-linux-androideabi/include /data/data/name.antonsmirnov.android.arduinodroid/buildSources/HelloWorld#cpp#1.cpp -o/data/data/name.antonsmirnov.android.arduinodroid/build/HelloWorld#cpp#1.cpp.o
01-25 12:15:55.681: WARN/System.err(5848): clang version 3.3
01-25 12:15:55.681: WARN/System.err(5848): Target: arm-unknown-linux-androideabi
01-25 12:15:55.691: WARN/System.err(5848): Thread model: posix
01-25 12:15:55.711: WARN/System.err(5848): "/data/data/name.antonsmirnov.android.arduinodroid/sdk/clang#3.3#1/bin/clang" -cc1 -triple armv4t-unknown-linux-androideabi -S -disable-free -disable-llvm-verifier -main-file-name HelloWorld#cpp#1.cpp -mrelocation-model pic -pic-level 1 -mdisable-fp-elim -fmath-errno -mconstructor-aliases -fuse-init-array -target-abi aapcs-linux -target-cpu arm7tdmi -msoft-float -mfloat-abi soft -target-feature +soft-float -target-feature +soft-float-abi -target-feature -neon -backend-option -arm-enable-ehabi -backend-option -arm-enable-ehabi-descriptors -target-linker-version 2.23.52.20130913 -v -g -coverage-file /storage/sdcard0/ArduinoDroid/temp/HelloWorld#cpp#1-Vk7376.s -resource-dir /data/data/name.antonsmirnov.android.arduinodroid/sdk/clang#3.3#1/bin/../lib/clang/3.3 -D IDE=ArduinoDroid -I /data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/include/c++/4.8 -I /data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/include/c++/4.8/arm-linux-androideabi -I /data/data/name.antonsmirnov.android.arduinodroid/sdk/ndk-sysroot-armel-16#r9c#1/arm-linux-androideabi/include -internal-isystem /..//usr/local/include -internal-isystem /data/data/name.antonsmirnov.android.arduinodroid/sdk/clang#3.3#1/bin/../lib/clang/3.3/include -internal-externc-isystem /..//include -internal-externc-isystem /..//usr/include -fdeprecated-macro -fno-dwarf-directory-asm -fdebug-compilation-dir /data/data/name.antonsmirnov.android.arduinodroid/sdk/libclang#3.3#1 -ferror-limit 19 -fmessage-length 0 -mstackrealign -mllvm -disable-global-ctor-const-promotion -fno-signed-char -fobjc-runtime=gcc -fobjc-default-synthesize-properties -fcxx-exceptions -fexceptions -fdiagnostics-show-option -backend-option -vectorize-loops -fno-cxx-missing-return-semantics -o /storage/sdcard0/ArduinoDroid/temp/HelloWorld#cpp#1-Vk7376.s -x c++ /data/data/name.antonsmirnov.android.arduinodroid/buildSources/HelloWorld#cpp#1.cpp
01-25 12:15:55.751: WARN/System.err(5848): clang -cc1 version 3.3 based upon LLVM 3.3 default target arm-unknown-linux-androideabi
01-25 12:15:55.751: WARN/System.err(5848): ignoring nonexistent directory "/..//usr/local/include"
01-25 12:15:55.751: WARN/System.err(5848): ignoring nonexistent directory "/..//include"
01-25 12:15:55.751: WARN/System.err(5848): ignoring nonexistent directory "/..//usr/include"
01-25 12:15:55.761: WARN/System.err(5848): #include "..." search starts here:
01-25 12:15:55.761: WARN/System.err(5848): #include   search starts here:
01-25 12:15:55.761: WARN/System.err(5848): /data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/include/c++/4.8
01-25 12:15:55.761: WARN/System.err(5848): /data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/include/c++/4.8/arm-linux-androideabi
01-25 12:15:55.761: WARN/System.err(5848): /data/data/name.antonsmirnov.android.arduinodroid/sdk/ndk-sysroot-armel-16#r9c#1/arm-linux-androideabi/include
01-25 12:15:55.761: WARN/System.err(5848): /data/data/name.antonsmirnov.android.arduinodroid/sdk/clang#3.3#1/bin/../lib/clang/3.3/include
01-25 12:15:55.761: WARN/System.err(5848): End of search list.
01-25 12:15:56.662: WARN/System.err(5848): "/data/data/name.antonsmirnov.android.arduinodroid/sdk/binutils-compact#2.23#1/bin/as" -mfloat-abi=soft -o /data/data/name.antonsmirnov.android.arduinodroid/build/HelloWorld#cpp#1.cpp.o /storage/sdcard0/ArduinoDroid/temp/HelloWorld#cpp#1-Vk7376.s
01-25 12:15:56.752: INFO/System.out(5848): clang++ -v -DIDE=ArduinoDroid -L/system/lib -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/binutils-compact#2.23#1/lib -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/libgcc-compact-dev#4.8#1/lib/gcc/arm-linux-androideabi/4.8 -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/lib -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/clang#3.3#1/lib -B/system/lib -B/data/data/name.antonsmirnov.android.arduinodroid/sdk/binutils-compact#2.23#1/lib -B/data/data/name.antonsmirnov.android.arduinodroid/sdk/ndk-sysroot-armel-16#r9c#1/arm-linux-androideabi/lib -o /data/data/name.antonsmirnov.android.arduinodroid/build/HelloWorld#cpp#1.cpp.elf /data/data/name.antonsmirnov.android.arduinodroid/build/HelloWorld#cpp#1.cpp.o
01-25 12:15:56.802: WARN/System.err(5848): clang version 3.3
01-25 12:15:56.802: WARN/System.err(5848): Target: arm-unknown-linux-androideabi
01-25 12:15:56.802: WARN/System.err(5848): Thread model: posix
01-25 12:15:56.802: WARN/System.err(5848): "/data/data/name.antonsmirnov.android.arduinodroid/sdk/binutils-compact#2.23#1/bin/ld" -X --eh-frame-hdr -m armelf_linux_eabi -dynamic-linker /system/bin/linker -o /data/data/name.antonsmirnov.android.arduinodroid/build/HelloWorld#cpp#1.cpp.elf /data/data/name.antonsmirnov.android.arduinodroid/sdk/ndk-sysroot-armel-16#r9c#1/arm-linux-androideabi/lib/crtbegin_dynamic.o -L/system/lib -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/binutils-compact#2.23#1/lib -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/libgcc-compact-dev#4.8#1/lib/gcc/arm-linux-androideabi/4.8 -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/libstdc++-compact-dev#4.8#1/arm-linux-androideabi/lib -L/data/data/name.antonsmirnov.android.arduinodroid/sdk/clang#3.3#1/lib /data/data/name.antonsmirnov.android.arduinodroid/build/HelloWorld#cpp#1.cpp.o -lstdc++ -lm -lgcc -ldl -lc -lgcc -ldl /data/data/name.antonsmirnov.android.arduinodroid/sdk/ndk-sysroot-armel-16#r9c#1/arm-linux-androideabi/lib/crtend_android.o
01-25 12:15:56.842: WARN/System.err(5848): /data/data/name.antonsmirnov.android.arduinodroid/build/HelloWorld#cpp#1.cpp.o: In function `main':
01-25 12:15:56.842: WARN/System.err(5848): /data/data/name.antonsmirnov.android.arduinodroid/buildSources/HelloWorld#cpp#1.cpp:5: undefined reference to `std::basic_ostream& std::operator

Подробнее здесь: [url]https://stackoverflow.com/questions/21347722/clang-cant-link-with-libstdc[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»