未定义对'Winmain@16'的引用,ld返回1个退出状态的c++代码块。

问题描述 投票:0回答:1

我正在为一项任务进行编程项目。我有一个类,我必须把它做成一个ADT,所以我必须把程序分成接口,实现和主项目。这意味着我将有3个文件。我使用的是codeblocks 16.01,我试图通过下载codeblocks v20.03来解决这个问题,但没有成功。我的程序在一个文件中运行良好,但当我把它分成三个文件时,我得到两个错误。

  1. Undefined reference to 'Winmain@16'(未定义引用)。
  2. ld返回1个退出状态

我已经阅读了几乎所有的帖子,并尝试了几乎所有我读到的东西,从简单地关闭和重新打开程序到设置>编译器>链接器设置,但没有工作。有些人在帖子里建议说,这个程序不是一个控制台,所以我应该把它创建成一个控制台,我也这样做了,但是没有任何效果。事实上,我只是创建了一个空类,并将其保存为main.cpp,然后我去创建一个新的类,我将我的新类命名为 "Has virtual Destructor",并取消选中 "Virtual Destructor"。我把目录做成和main.cpp一样的文件夹,然后我把头文件复制到main.cpp程序中,试着构建它,然后我得到了错误。我没有做任何编码,但我收到这些错误。

如果可以的话,请提供直接的说明来帮助我,因为我读了很多帖子,并尝试解决这个问题,但没有一个对我有效。

谢谢你,我正在为一项任务做一个编程项目。

c++ codeblocks adt
1个回答
0
投票

我最初帖子中的错误出现在你不正确地创建多个文件的时候。多个文件的创建方式应该是这样的;或者说要解决这个错误,请按照这些简单的步骤进行。

你首先要去创建一个类型为 "控制台应用程序 "的项目。完成后,你不会有任何文件打开,你只会在顶部看到你的Console Application的名字。

接下来,去创建一个类。一旦你完成了这个工作并给你的类命名,你会被问到是否要把它添加到你的当前项目中。你应该选择 "是 "按钮将其添加到你的当前项目中。然后你会有一个.h和.cpp文件。

这时你的main.cpp文件已经为你创建好了。只需去打开并找到你的项目文件夹。在该文件夹中,你会发现你的类文件和main.cpp文件。打开main.cpp文件。如果你被要求将它添加到你当前的项目中,点击yes按钮,你就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.