警告:新手问题! 我在Nsight IDE中创建了一个新的空项目,然后创建了一个文件“hello.cpp”:
#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的工作方式不同吗?谢谢!
答案 0 :(得分:1)
我发现Nsight Eclipse对文件的扩展非常特别。
在我的安装中,我必须明确地将“.h”写入头文件,例如#include <iostream.h>
,否则无法识别它们。
我发现的另一个问题是源文件本身的扩展。当你有一个.c扩展名时,Nsight不喜欢,因为某些标题中包含的某些实例未找到。每当我将扩展名更改为.cu,.cpp或.cc时,实例都会与相应的标题链接。
我建议你把标题扩展名为“.h”。如果它以这种方式工作,请告诉我们。