致命错误 LNK1561:必须定义入口点

Posted

技术标签:

【中文标题】致命错误 LNK1561:必须定义入口点【英文标题】:fatal error LNK1561: entry point must be defined 【发布时间】:2014-10-02 07:26:29 【问题描述】:

我有一个 Visual Studio C++ 项目的源代码。项目包含初始项目的 cpp 和头文件。这些文件位于不同的文件夹和子文件夹中。但是 main 函数存在于默认目录中。我想新建一个项目并添加代码。

但是,我不知道要构建项目究竟需要做什么。首先,我创建了一个空的 C++ 项目。下一步添加.cpp 文件和.h 文件。我应该添加项目 stdafx 文件吗?如何在新项目的子文件夹中添加代码?

编辑:我遵循 TobiMcNamobi 的指示。我从解决方案项目中添加现有项目。项目构建所有文件。但是我收到一个错误:

 fatal error LNK1561: entry point must be defined

这个错误到底是什么意思?我检查了以下link,它说可能不清楚新项目是否是 Win32 项目而不是控制台。但是我创建了一个空项目?我应该变成一个控制台项目吗?

EDIT2:我添加了所有依赖项和所有文件。现在的问题是我面临以下错误:

错误 LNK2005: "public: static class cv::Mat __cdecl CmSaliencyRC... 已在 .obj 中定义

【问题讨论】:

我不明白这个问题。 真的您知道如何添加 .cpp 和 .h 文件,但您问如何从子文件夹添加这些文件? 第一个问题很清楚,我是不是要从源代码中添加stdafx.cpp和stdafx.h?第二个,我只需要将所有 .cpp 和 .h 文件从所有可能的目录中添加到项目中?正如我所说,我创建了一个新的空项目,并尝试在头文件和源文件文件夹中添加文件。 【参考方案1】:

这有点取决于你想要什么以及你有多少源代码

您想使用 Visual Studio 将项目作为一个整体来工作吗?项目有很多源文件吗?然后我会将它的每个 .cpp 和.h 文件放入VS 项目中。是的,stdafx.cpp 和 .h 以及 所有 子目录。

您想要一些特定的东西,项目的某个部分,而您只有几个源文件吗?然后,您应该只从需要的那些文件开始,并在您发现它们也需要时添加文件。

将文件添加到 VS 项目很简单,只需右键单击项目(在解决方案资源管理器中),选择“添加”/“现有项目”。将出现一个文件选择器对话框,从任何子目录中选择要添加的所有文件。

我承认,如果您有很多目录,我知道如何优雅地做到这一点。

【讨论】:

其实是个大工程。我仍然不确定要添加什么。我不确定如何添加子文件夹中的代码。只需将其添加到标题和源文件夹? 好的,我想我已经接近解决方案了,我只是添加现有项目的所有内容。优雅的?不是!只有问题一些链接有问题。但是我认为我已经接近解决方案了。 SegmentAllign.obj : error LNK2019: unresolved external symbol "void __cdecl saliencyCut。这个错误可能意味着什么? @FereRes 好吧,如果您在此网站上搜索“未解决的外部”或“LNK2019”,您会发现有关此问题的几个答案(和讨论)。无论如何,它几乎不在您最初问题的范围内。

以上是关于致命错误 LNK1561:必须定义入口点的主要内容,如果未能解决你的问题,请参考以下文章

安装 Visual Studio 2013 后的第一个构建错误。致命错误 LNK1561:必须定义入口点

链接:致命错误LNK1561:入口点必须定义VS2015开发者cmd窗口

简单程序的“必须定义LNK1561入口点”

SDL2:LNK1561:必须定义入口点

MFC项目中:报错:“fatal error LNK1561: 必须定义入口点”解决方法

“fatal error LNK1561: 必须定义入口点”解决方法