Reputation: 13
I have been trying to compile a simple hello world program in c++ using clang. Now in the past I have been able to do this using the command:
clang -lc++ hello.cpp -o hello
When I try this I get the error:
/usr/bin/ld: cannot find -lc++
Clang: error : linker command failed with exit code 1
If I use g++ it compiles without errors. Why is this problem occurring with clang?
Upvotes: 0
Views: 1757
Reputation: 44830
Clang compiles C language and Clang++ compiles C++. Those are different languages, so you need a separate compiler for each of them.
Some time ago I was having trouble with this as well. I tried linking loads of libraries (-lstdc++
etc), building stdlib from source, etc, but nothing worked. This was a judge problem until I realized that I had to use clang++
.
So you too, you need clang++
, not clang
.
Upvotes: -1
Reputation: 7960
You need to install libc++ library.
Try if are using ubuntu:
sudo bash -c "cat >> /etc/apt/sources.list" << LLVMAPT
# LLVM
deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty main
deb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty main
# 3.5
deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.5 main
deb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.5 main
# 3.6
deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.6 main
deb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.6 main
LLVMAPT
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt-get update -y
sudo apt-get install -y clang-3.6 lldb-3.6 libc++-dev libc++abi-dev
If the script above doesnt work or you do not use ubuntu then please check this websites to download that library:
http://libcxx.llvm.org/docs/BuildingLibcxx.html
Upvotes: 2