Clang编译器错误,适用于非常简单的程序
Clang compiler error for very simple program
我正在尝试开始使用c++。我在安装了小牛操作系统的mac上。
我试图编译的程序是:
#include <iostream>
int main()
{
std::cout << "Enter two numbers:" << std::endl;
return 0;
}
这是cc:的版本
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
然而,当我尝试编译时:
cc test.cc
我得到以下错误:
...
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in test-AeQQK5.o
___clang_call_terminate in test-AeQQK5.o
"___cxa_end_catch", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in test-AeQQK5.o
"___gxx_personality_v0", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<<<std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in test-AeQQK5.o
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in test-AeQQK5.o
Dwarf Exception Unwind Info (__eh_frame) in test-AeQQK5.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程序。将其编译为C++程序:
c++测试.cc
最好也加入一些警告标志:
c++-Wall-Wextra-迂腐错误测试.cc
您需要运行clang++
,而不仅仅是clang
。
虽然用gcc编译C++源*.cc是完全可以的(它将具有该扩展名的文件视为C++源),但链接器也需要明确的信息来链接到正确的C++库。
(注意:我认为clang和gcc在这个问题上是相似的)
相关文章:
- GDB 8.1 无法在单线程简单程序中跟踪 std::string 变量的值
- 令牌之前的简单程序预期标识符'('
- 带有类和链表的简单C++程序
- 引发未经处理的异常:简单 C++ 程序中的读取访问冲突,动态增加数组长度以存储数字
- C++链表简单程序崩溃
- 简单程序中的意外推力错误
- 未经GCC优化而编译的简单C++程序不会产生预期的结果
- 运行简单 c++ 程序时出现权限被拒绝错误
- 为什么我的简单C++程序使用队列和 fstream 错误到无效指针
- QT创建者:简单程序未解决的外部符号和外部符号错误
- 在VS2017上调试简单程序时访问冲突(RtlActivateActivationContextUnsafeFast)
- 无法为简单程序运行 docker 容器
- 布尔程序返回错误,即使应该是正确的.简单程序
- C++:帮助解释简单程序的行为
- 在使用小数的简单c++程序中遇到问题
- 简单程序的输入/输出问题
- 我在C中简单程序中的内存故障
- 简单程序没有输出和崩溃.我的解决方案有什么问题
- 简单C++程序上的多个未声明标识符
- C++,Visual Studio 2012和错误4700,用于简单程序中的类变量