在Mac OS X 10.6上使用clang 2.8编译C ++代码时,如何解决缺失的符号?

时间:2011-01-25 00:16:43

标签: c++ macports clang

以下代码在OS X上使用来自macports的clang 2.8编译,在下面给出了缺少的符号错误。

   #include <iostream>

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


jonathancoe@MacBookCoe:/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 ++很好地链接,没有任何额外的参数。任何想法,我可以做什么来得到这个程序链接或解释为什么不可能(如果是这种情况)?

1 个答案:

答案 0 :(得分:8)

尝试:

$ clang++ test.cpp

如果不能解决问题,请显示您正在使用的命令行。