C++ 소스 코드를 컴파일하는 방법("iostream.h를 찾을 수 없음" 오류)?

C++ 소스 코드를 컴파일하는 방법("iostream.h를 찾을 수 없음" 오류)?

나는 C++이나 다른 프로그래밍 언어에 대해 논의하고 싶지 않습니다! 나는 단지 helloworld.cpp를 컴파일하는 것과 관련하여 Linux 우분투에서 무엇을 잘못하고 있는지 알고 싶습니다!

저는 C++를 배우고 있으므로 단계는 다음과 같습니다.

vim에서 hello.cpp를 열고 다음을 작성하세요.

#include <iostream.h>
int main()
{
    cout << "Hello World!\n";`
    return 0;
}

그래서 그 후 터미널에서 이것을 시도했습니다.

g++ hello.cpp

그리고 출력은 다음과 같습니다

hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.

당신은 무엇을 제안합니까? 나에게 유용한 단계별 가이드가 있나요?감사합니다!

답변1

#include <iostream>가 아닌 을 사용해야 합니다 iostream.h. 그만큼.시간양식은 매우 오래되었으며 수년 동안 더 이상 사용되지 않습니다.

당신이 알고 싶은 것보다 더 많은 것을 읽을 수 있습니다..시간vs 비.시간여기에서 양식을 작성하세요: http://members.gamedev.net/sicrane/articles/iostream.html

(게다가 std::cout한 줄을 쓰거나 있어야 합니다 using namespace std;. 그렇지 않으면 다음 오류는 컴파일러가 에 대한 정의를 찾지 못하는 것에 관한 것입니다 cout.)

답변2

iostream.h로 변경해야 합니다 iostream. 나는 또한 당신과 같은 오류를 겪고 있었지만 iostream.hjust로 변경했을 때 iostream제대로 작동했습니다. 어쩌면 그것은 당신에게도 효과가 있을 것입니다.

즉, 다음과 같은 줄을 변경합니다.

#include <iostream.h>

대신 다음과 같이 말하게 하세요.

#include <iostream>

표준에 정의된 C++ 표준 라이브러리 헤더 파일에는 확장자가 없습니다 .h.

말한 바와 같이리카르도 무리(Riccardo Murri)의 답변cout, 정규화된 이름으로 호출 std::cout하거나 다음 두 줄 중 하나가 있어야 합니다(지시문 아래, #include다른 코드 위에 있는 것이 바람직함).

using namespace std;
using std::cout;

두 번째 방법은 특히 심각한 프로그래밍 프로젝트의 경우 선호되는 것으로 간주됩니다. 왜냐하면 네임스페이스 std::cout의 모든 이름을 가져오는 대신 에만 영향을 미치기 때문입니다 std(일부는 프로그램에서 사용되는 이름을 잠재적으로 방해할 수 있음).

관련 정보