0

警告:新手问题!我在 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 的工作方式是否不同?谢谢!

4

1 回答 1

1

我发现 Nsight Eclipse 对文件的扩展非常特别。

在我的安装中,我必须明确地将“.h”写到头文件中,#include <iostream.h>否则它们将无法识别。

我发现的另一个问题是源文件本身的扩展名。Nsight 不喜欢您有 .c 扩展名,因为某些标头中包含的某些实例未找到。每当我将扩展名更改为 .cu、.cpp 或 .cc 时,实例都会与相应的标头链接。

我建议您将标题扩展名“.h”。让我们知道它是否以这种方式工作。

于 2013-10-03T22:32:32.240 回答