警告:新手问题!我在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的工作方式不同吗?谢谢!
发布于 2013-10-04 06:32:32
我发现Nsight Eclipse非常注重文件的扩展名。
在我的安装中,我必须显式地将'.h‘写入头文件,就像这样的#include <iostream.h>,否则它们将无法识别。
我发现的另一个问题是源文件本身的扩展名。当你有一个.c扩展的时候,Nsight就不一样了,因为一些头文件中包含的一些实例没有被找到。每当我将扩展名更改为.cu、.cpp或.cc时,都会使用适当的标头链接实例。
我建议你把标题扩展名放在'.h‘上。如果是这样的话,请让我们知道。
https://stackoverflow.com/questions/15284823
复制相似问题