您的位置:首页 > 其它

ERROR in vc 6.0 (LINK : fatal error LNK1561: entry point must be defined)

2013-08-10 09:33 519 查看
导致错误 LINK : fatal error LNK1561: entry point must be defined 的原因有很多种, 网上可以搜到很多,

一般是函数入口没定义, 或者修改为/subsystem:windows /entry:mainCRTStartup,

或者使用下面的语句:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

这里我碰到的情况比较特别, 我的是一个VC 6.0的静态lib工程(VC 2008上编译正常), 竟然报入口点没定义, 奇怪吧.

而且Release版本编译正常, 错误仅出现在Debug版, 尝试了各种方法都解决不了.

最后搜索到下面这个帖子, 里面有个回复提到一个MSDN的kb, 尝试了一下, 结果解决了, 这种情况非常少见, 希望对你有用.

参考: http://bbs.csdn.net/topics/337691

在36楼的回复:

PRB: Missing /c Compiler Option Causes LNK1561 Linker Error

Q228455

--------------------------------------------------------------------------------

The information in this article applies to:

Microsoft Visual C++, 32-bit Editions, version 6.0

--------------------------------------------------------------------------------

SYMPTOMS

When compiling a multiple source file project that creates a pre-compiled header file inside the Visual C++ Integrated Development Environment (IDE), the following error can occur:

Compiling...

StdAfx.cpp

LINK : fatal error LNK1561: entry point must be defined

Error executing cl.exe.

NOTE: The linker error is generated during the compiler phase of the build.

CAUSE

The /c compiler option is missing from the build settings.

RESOLUTION

Add /c to the compiler options. To do this, you must edit the compiler options in the Project Options box in the C/C++ tab under Project Settings.

NOTE: This box is only editable if the whole project is selected in the tree control on the Project Settings.

STATUS

This behavior is by design.

MORE INFORMATION

By default, the Visual C/C++ compiler attempts to compile and link in a single step. The /c (Compile without Linking) option is used to tell the compiler to compile only. Since Visual C++ compiles and links in separate steps, then /c is required for all Visual C++ builds.

To reproduce the error, create a default MFC project and remove the /c option from the Project Settings by editing the compiler options in the Project Options box in the C/C++ tab under Project Settings.

REFERENCES

© Microsoft Corporation 1999, All Rights Reserved.

Contributions by Kelly Marie Ward, Microsoft Corporation

Additional query words:

Keywords : kbCompiler kbLinker kbVC600

Issue type : kbprb

Technology : kbvc

Last Reviewed: February 4, 2000

© 2001 Microsoft Corporation. All rights reserved. Terms of Use.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐