我试图了解如何使用g ++和(最终)在Ubuntu上使用Clang从命令行编译C++程序.
我找到了一个解释MakeFiles的网页,我正在按照他们的指示行事.http://mrbook.org/tutorials/make/
我将这四个示例文件下载到他们自己的目录中.
然后我继续运行他们如何在没有MakeFile的情况下手动编译的示例.
g++ main.cpp hello.cpp factorial.cpp -o hello
Run Code Online (Sandbox Code Playgroud)
当我从上面运行命令时,我从g ++收到以下错误:
main.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.
hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
我编写c ++的唯一经验是使用IDE,如VS C++ Express或CodeBlocks.是不是编译器应该知道iostream.h是什么以及在哪里找到它?
如何摆脱这个错误,以便程序编译?
谢谢你的帮助.
我搜索过谷歌,但没有找到我的查询的直接答案.
我一直在阅读C++ Primer,我对这门语言还很陌生,但尽管这本书有多好,但它讨论了标准库的使用,但并没有真正描述它的位置或来自何处(它没有'无论如何).那么,标准库在哪里?哪些头文件可以让我访问它?当我下载CodeBlocks时,STL是否附带了它?或者它是自动附带我的操作系统?
有点相关,但Cobeblocks带来的MinGW究竟是什么?在这里说
MinGW是一个C/C++编译器套件,它允许您创建Windows可执行文件而不依赖于此类DLL
所以在最基本的层面上它只是让我制作C++程序所需的"东西"的集合?
对这个非常基本的问题道歉.
可能重复:
从哪里获得iostream.h
我想在这里编译AVL树的例子.但是当我输入make时会说它致命错误:iostream.h:没有这样的文件.我认为代码是使用c库实现的,因为它以.h结尾,但为什么不能找到这个文件呢?它贬值了吗?
我untitled1.cpp
使用以下脚本创建了一个名为dev-cpp 的文件:
#include <iostream.h>
using namespace std;
int main(){
cout << "C++";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但编译器显示如下错误:
1 F:\ Dev-Cpp\include\c ++\3.4.2\backward\iostream.h:31,
来自F:\ Dev-Cpp\Untitled1.cpp in include/c ++/3.4.2/backward/iostream中包含的文件.h:31,来自F:\ Dev-Cpp\Untitled1.cpp 32:2 F:\ Dev-Cpp\include\c ++\3.4.2\backward\backward_warning.h #warning此文件至少包含一个已弃用或过时的文件头.请考虑使用C++标准第17.4.1.2节中的32个标头之一.示例包括将标头替换为C++包含的标头,或者代替不推荐使用的标头.要禁用此警告,请使用-Wno-deprecated.
我有什么错误?我如何解决它?