[英]C++ #include <iostream>
我是C ++的新手。 我正在尝试编写一个简单的C ++程序,但收到一条错误消息。 我怀疑这是由于我不小心删除了Mac上的某些.h文件,这可能毁了我的Clang编译器。 我怎样才能解决这个问题? 我是否需要重新安装Xcode或更改编译器?
来自终端的错误消息:
192:desktop ivanlee$ gcc test.cpp
In file included from test.cpp:1:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iostream:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ios:215:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iosfwd:90:
In file included from /usr/include/wchar.h:70:
In file included from /usr/include/_types.h:27:
/usr/include/sys/_types.h:32:10: fatal error: 'sys/cdefs.h' file not found
#include <sys/cdefs.h>
^
1 error generated.
码:
#include <iostream>
int main(){
return 0;
std::cout << "Hey";
}
首先,我应该向您推荐权威的stackoverflow c ++书籍清单 。 阅读这些书,使您的技能得到发展。 这样也可以避免此类问题。
您的问题需要非常非常的基础知识,答案可能太长,可以通过许多不同的方法来解决您的问题。
我可以告诉你一个,但你不应该问这样的问题。
回答
您的代码包含错误:
在其他指令之前return 0
(应该是最后一条)。 现在,您的程序将什么都不做。
您应该始终使用C ++编译器来编译C ++代码。 gcc
不是c++
编译器,而是c
编译器-请改用g++
。
即使您纠正了上面的2个错误,您的std::cout
调用也可能会失败,因为它不会刷新流。 您还应该在此调用中添加<< std::endl
。
执行
g++ test.cpp -o out
代替
gcc text.cpp
run Terminal
execute gcc -v
阅读信息并复制包含路径。 将其复制到您的IDE,该IDE允许您添加包含路径。
例如,我的是:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.