문제

이 매우 간단한 코드는 많은 오류를 제공합니다.

#include <iostream>
#include <string>

int main() {
    std::string test = " ";
    std::cout << test;
}

입력하여 Linux에서 컴파일하려고했습니다 gcc -o simpletest simpletest.cpp 콘솔에서. 왜 작동하지 않는지 알 수 없습니다. 무슨 일이 일어나고 있습니까?

도움이 되었습니까?

해결책

'gcc'대신 'g ++'를 사용해보십시오.

다른 팁

다른 사람들이 말한 것에 추가하기 위해 : g++ GNU C ++ 컴파일러입니다. gcc GNU 컴파일러 컬렉션입니다.~ 아니다 많은 사람들이 생각하는 것처럼 GNU C 컴파일러). gcc 프론트 엔드 역할을합니다 g++ C ++ 소스를 컴파일 할 때. gcc C, C ++, Objective-C, Fortran, Ada, Assembly 등을 컴파일 할 수 있습니다.

컴파일에 실패한 이유 gcc C ++ 표준 라이브러리에서 링크해야한다는 것입니다. 기본적으로, g++ 이렇게하지만 gcc 하지 않습니다. C ++ 표준 라이브러리를 사용하여 연결합니다 gcc, 다음을 사용하십시오.

gcc -o simpletest simpletest.cpp -LSTDC ++

노력하다:

g++ -o simpletest simpletest.cpp

함께 시도하십시오 g++ -o simpletest simpletest.cpp. GCC는 C 컴파일러이고 G ++는 필요한 C ++ 라이브러리에서도 연결되는 C ++ 컴파일러입니다.

또한 추가해야합니다 return 0; 당신의 끝에 main() 기능.

컴파일러가 까다 롭다면 모든 중요한 것을 추가 할 수 있습니다. return 0; 끝에

당신은 당신을 선언했습니다 main() 반환으로 int 그러나 당신은 반환 진술이 없습니다. 추가하다 return 0; 그리고 그것이 도움이되는지 확인하십시오. 그래도 문제를 해결하지 못한 경우 게시물을 편집하여 오류의 대표 라인을 포함하여 더 잘 도울 수 있습니다.

G ++는 나에게도 정답이었다. 나는 그것을 투표했다.

그러나 1998 년 2 월 13 일 이후로 사용했던 약간의 멍청한 내 코드 (첫 번째 의견)는 자녀의 유모에 대한 효과적인 총 급여와 원천 징수를 계산하기 위해 G ++에게도 너무 간단했습니다. 위의 예와 관련하여, 나의 스트루 스트 루프-에디션-준수 공룡은 다음과 같이 갔다.

// too simple!

#include <iostream.h>
#include <stdlib.h>

main() {
    cout << "Hello World!" << endl;
}

이렇게하면 전체 오류 메시지의 전체 터미널 창이 제공됩니다. 곱슬 버팀대를 제외한 모든 것은 오류입니다! 그리고 그것의 리턴 라인이 없습니다. 시간은 상업용 C ++ 개발 환경에서 컴파일하고 올바르게 실행되었습니다 ...

새 학교를 걷어차 고 지금 사용하고 있습니다 : //

#include <iostream>
#include <stdlib.h>

int main(int argc, char* argv[] ) {
    std::cout << "Hello World!" << std::endl;
//  TODO - this ought to return success, 0
}

원래 질문자는 std :: cout를 가지고 있었고 문자열을 사용했습니다.

 <string>...  

"단순"은 상대적인 용어입니다 ...

계산서

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top