2013-03-08 3 views
0

경고 : 초보자 질문! 나는 그때 파일 "아래 hello.c"를 만듭니다 Nsight IDE에 새로운 빈 프로젝트를 만듭니다Nsight 및 라이브러리 문제

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout << "Hello World!"; 
    return 0; 
} 

디버거 출력 :

In function `_start': 
(.text+0x20): undefined reference to `main' 
collect2: ld returned 1 exit status 
make: *** [new] Error 1 

그것은 cout을 찾을 수없는, 심지어 내가 생각을 거기에있는 것을 확인하십시오 (실제로는 Nsight 창의 오른쪽 상단에 포함되어 있다는 것을 이라고합니다). Nsight에있는 많은 라이브러리에서이 간단한 문제 외에도 Code :: Blocks의 동일한 코드에는 아무런 문제가 없습니다! Nsight는 다르게 작동합니까? 감사!

답변

1

Nsight Eclipse는 파일 확장자가 매우 중요하다는 것을 알게되었습니다.

제 설치시 명시 적으로 '.h'를 헤더 파일에 기록해야합니다. 예 : #include <iostream.h> 그렇지 않으면 인식되지 않습니다.

내가 발견 한 또 다른 문제점은 소스 파일 자체의 확장입니다. Nsight는 확장자가 .c 인 경우 일부 헤더에 포함 된 일부 인스턴스를 찾을 수 없다는 점에서 마음에 들지 않습니다. 확장자를 .cu, .cpp 또는 .cc로 변경할 때마다 인스턴스가 적절한 머리글과 연결됩니다.

헤더 확장자 '.h'를 사용하는 것이 좋습니다. 그렇게 작동하는지 알려주세요.

+0

답장을 보내 주셔서 감사합니다. 실제로 으로 전환하면 개선되지는 않지만 마커 미해결 포함 : 입니다. –

+0

당신 말이 맞아요! 방금 시도하고 'iostream'은 '.h'와 싫어합니다. 전문가들에게 몇 분 간 물어 보겠습니다. – mrei