以下代码在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 ++很好地链接,没有任何额外的参数。任何想法,我可以做什么来得到这个程序链接或解释为什么不可能(如果是这种情况)?
答案 0 :(得分:8)
尝试:
$ clang++ test.cpp
如果不能解决问题,请显示您正在使用的命令行。