以下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出现在系统上,所以我很确定我做了一些工作。我需要链接到一个框架吗?
答案 0 :(得分:1)
如果您编译/链接C ++,请使用(clan)g++
。这将确保C ++标准库也链接在其中。
或者,将-lstdc++
或您的-lc++
添加到link命令。我会打电话给clang++
。