Bunu işe yaramış gibi görünmüyor. Ben --with-gcc-toolchain=
ile yapılandırıldı nerede eşittir sonra gcc (/usr/lib/gcc-snapshot/bin
) olduğu dizini koydu.Clang linker sorunları (kaynaktan, gcc için anlık görüntü)
Ayrıca "clang linker problem" yanıtlarına da baktım ama doğru yeri bulmak için kabul edilen yanıtı nasıl alabildiğimi görmüyorum ve symlink cevabı işe yaradı, aradığı tüm dizinler hariç var (lib
klasörünün gcc-snapshot dosyasından kopyalama konumlarından birine kopyalanması yardımcı görünmüyor). Diğer soru da önerildiği gibi
, clang++ test.cpp -v
çıktısı:
[email protected]:~/programming$ clang++ test.cpp -v
clang version 3.3 (trunk 171350)
Target: x86_64-unknown-linux-gnu
Thread model: posix
"/home/bob/programming/build/Release+Asserts/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name test.cpp -mrelocation-model static -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.22 -momit-leaf-frame-pointer -v -resource-dir /home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3 -fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem /usr/local/include -internal-isystem /home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/bob/programming -ferror-limit 19 -fmessage-length 80 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -backend-option -vectorize-loops -o /tmp/test-PWiB4M.o -x c++ test.cpp
clang -cc1 version 3.3 based upon LLVM 3.3svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
test.cpp:1:10: fatal error: 'iostream' file not found
#include ^
1 error generated.
clang sürüm 3.3 (gövde revizyon 171350)
DÜZENLEME: için Release+Asserts
klasörde hiç .o
dosya yok inşa etmek. Bu normal mi? Eğer değilse, neden bu durumda, ve nasıl düzeltebilirim (eğer clang'ın stdlib'i olarak işaret edebilirsem, o zaman bu da işe yarar).
Düzenleme 2: Bu crtbegin.o
bulamıyorum olarak Ayrıca int main(){return 0;}
derlenmeyecektir. -v
sonra
/usr/bin/ld: cannot find crtbegin.o: No such file or directory
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: cannot find -lgcc_s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
sonuç yukarıdaki aynıdır, ancak biten hata ile farklı olmak şöyledir: Tam çıkışıdır. Tam dosya here bulunabilir
, ancak ilk (non-comment) çizgisidir:
config.log saptadığımız $ ../llvm/configure --with-gcc-toolchain=/usr/lib/gcc-snapshot/gcc
derlemek test.cpp mu ve bağlantı g gördüğümüz ++? Çıktınızda kod, iostream bulunamadığından derleme başarısız olur. - – emil
@emil bu benim amacım. Düzenleme 2'de derlenemeyen başka bir örnek ekledim. G ++ – soandos
ile derler. Nereye yüklediğiniz yerde iostream dosyası nerede olur? Llvm (llvm öneki) – Spundun