2011-01-25 8 views
3

macportからclang 2.8でOS Xでコンパイルされた次のコードは、下にシンボルの誤りがあります。Mac OS X 10.6でclang 2.8を使用してC++コードをコンパイルすると、シンボルの欠落を解決するにはどうすればよいですか?

#include <iostream> 

    int main() 
    { 
    std::cout << "hello world" << std::endl; 
    } 


[email protected]:/tmp$ clang HW.cpp 
Undefined symbols: 
    "__ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc", referenced from: 
     _main in cc-C9ObsA.o 
    "__ZNSt8ios_base4InitC1Ev", referenced from: 
     ___cxx_global_var_init in cc-C9ObsA.o 
    "__ZNSt8ios_base4InitD1Ev", referenced from: 
     ___cxx_global_var_init in cc-C9ObsA.o 
    "__ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_", referenced from: 
     _main in cc-C9ObsA.o 
    "__ZNSolsEPFRSoS_E", referenced from: 
     _main in cc-C9ObsA.o 
    "__ZSt4cout", referenced from: 
     _main in cc-C9ObsA.o 
ld: symbol(s) not found 

単純なプログラムは、g ++を使用して追加の引数なしで細かいリンクを行います。私はこのプログラムをリンクしたり、なぜそれが不可能であるかについての説明を得るために何ができるのですか?

答えて

8

試してみてください。

$ clang++ test.cpp 

それはトリックをしない場合は、使用しているコマンドラインを示しています。

+0

ありがとうございます!奇妙なのはリンクのエラーだった。以前より言語が問題になっていたのであれば、それは早く立ち上がったと思っていたでしょう。 – jbcoe

関連する問題