C ++ Hello world不会编译?似乎是一个链接问题......

时间:2014-04-19 18:11:28

标签: c++ terminal clang

以下Hello World程序在Xcode中编译,但在终端中使用via clang编译时不会:

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

具体来说,我使用的命令是:

clang c++test.cpp

其中c ++ test是文件的名称。 这会产生一堆乱码错误,如:

(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*,     
char const*, std::__1::ios_base&, char) in c++test-497cf6.o

以及:

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我检查过,c ++ libs出现在系统上,所以我很确定我做了一些工作。我需要链接到一个框架吗?

1 个答案:

答案 0 :(得分:1)

如果您编译/链接C ++,请使用(clan)g++。这将确保C ++标准库也链接在其中。

或者,将-lstdc++或您的-lc++添加到link命令。我会打电话给clang++