O que mais é necessário para usar o clang além de “apt-get install clang; clang hw.cpp ”?

0

Cling instalado:

$~/Projects/clang$ sudo apt-get install clang
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  clang
0 upgraded, 1 newly installed, 0 to remove and 8 not upgraded.
Need to get 0 B/3,590 B of archives.
After this operation, 42.0 kB of additional disk space will be used.
Selecting previously unselected package clang.
(Reading database ... 259453 files and directories currently installed.)
Preparing to unpack .../clang_1%3a3.5-23ubuntu1_i386.deb ...
Unpacking clang (1:3.5-23ubuntu1) ...
Processing triggers for man-db (2.7.0.2-2) ...
Setting up clang (1:3.5-23ubuntu1) ...

Código de compilação:

$~/Projects/clang$ clang hw.cpp
/tmp/hw-70de0d.o: In function 'main':
hw.cpp:(.text+0x8): undefined reference to 'std::cout'
hw.cpp:(.text+0x1a): undefined reference to 'std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/hw-70de0d.o: In function '__cxx_global_var_init':
hw.cpp:(.text.startup+0x10): undefined reference to 'std::ios_base::Init::Init()'
hw.cpp:(.text.startup+0x16): undefined reference to 'std::ios_base::Init::~Init()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Código-fonte:

#include<iostream>
int main()
{
std::cout<<"Hello,World!\n";
}

O que mais é necessário para usar o clang?

    
por CW Holeman II 20.02.2015 / 00:01

1 resposta

3

Você precisa usar clang++ . clang é o compilador C, clang++ é o compilador C ++. Como gcc . Eu acho que estes são basicamente o mesmo compilador, mas (novamente como gcc ), clang++ links contra as bibliotecas C ++ por padrão, enquanto clang não. Daí os erros do linker.

    
por 20.02.2015 / 02:02