今天同学碰到一个奇怪的问题,弄了半天知道问题出在哪,但不知道为什么。
产生这个问题一般是以下原因:
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.
2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。
解决方法
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE
2.进入project->setting->Link, 在Project options中将/subsystem:windows.改为/subsystem:console
3.保存设置,Rebuild All.
但是我同学这些配置都正确。一个Windows console工程。3个文件:pqueue.h,pqueue.cpp,main.cpp。pqueue.cpp中#include
"pqueue.h",main.cpp中#include "pqueue.h" 。出现error LNK2001错误。原因是pqueue中用到模板,模板的声明跟定义都放在pqueue.h中,编译就过了。
分享到:
相关推荐
本文将详细解析两个特定的链接错误:error LNK1120和error LNK2001,这两种错误通常发生在Visual Studio等IDE中。通过了解这些错误的含义和解决方法,我们可以更有效地调试和优化代码。 首先,让我们来看看**error ...
在使用Visual C++ (VC) 编译C++项目时,可能会遇到`error LNK2001: unresolved external symbol _WinMain@16`的错误提示。该错误通常出现在尝试构建一个Windows应用程序时,尤其是在项目的配置不正确的情况下。具体...
在编程过程中,我们时常会遇到编译错误,其中"error LNK2001 无法解析的外部符号"是一个常见的链接器错误。这个错误通常发生在C++编程中,特别是当你试图使用一个未定义的函数或者变量时。在这个特定的情况下,错误...
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 msvcrtd.lib(crtexew.obj) : error LNK2001: ...
如果出现以下错误: ...1>libcurld.lib(openssl.obj) : error LNK2019: 无法解析的外部符号 _sk_num,该符号在函数 _cert_stuff 中被引用 ............... 则应添加对 ssleay32.lib 和 libeay32.lib 的引用
在编程过程中,尤其是在使用C++和Qt框架时,我们可能会遇到一些链接错误。"LNK1158 cannot run 'rc.exe'"是一个典型的错误,它通常发生在Windows平台上的开发环境中,比如Visual Studio或Qt Creator。这个错误是由于...
完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错 文末给出一个完美的解决方案和一个懒人补丁包。问题描述如下:在重新编译的时候,经常报错: fatal error LNK1201: 写入程序数据库“.pdb”...
C++调用C函数实例详解 前言:以前见到extern “C”这样的语句,只是简单地知道跟外部链接有关...Test.obj : error LNK2019: 无法解析的外部符号 “void __cdecl DeleteStack(struct _Node *)” (?DeleteStack@@YAXPAU_N
visual c++报error LNK2001 unresolved external symbol错就是因为你...
对于MFC项目,如果程序入口点不正确,如`msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved externalsymbol _WinMain@16`,应确保入口点函数设置为对应的`WinMainCRTStartup`或`wWinMainCRTStartup`(Unicode...
LNK2019错误是Windows平台下使用Microsoft Visual Studio进行C++项目编译时常遇到的链接错误。当编译器在尝试生成可执行文件时,会在链接阶段发现一些函数或变量的引用无法找到它们的定义,就会产生LNK2019错误。这...
在创建 MFC 项目时,如果没有使用 MFC AppWizard 向导,那么在编译时可能会产生很多连接错误,例如 error LNK2001: unresolved external symbol _main。这种错误的解决办法是将 Windows 子系统设置正确。可以按照...
(1)error LNK2001: unresolved external symbol _main 编号:LNK2001 直译:未解决的外部符号:_main。 错误分析:缺少main函数。看看main的拼写或大小写是否正确。 (2)error LNK2005: _main already defined in ...
nafxcwd.lib(thrdcore.obj):error LNK2001:unresolved external symbol_endthreadex nafxcwd.lib(thrdcore.obj):error LNK2001:unresolved external symbol_beginthreadex Debug/MyMFC.exe:fatal error LNK1120:2 ...
在这个场景下,开发者在x86系统上使用特定的交叉编译工具链,生成了适用于ARM架构的OSS C++ SDK库。这使得开发人员能够在不改变原有开发环境的情况下,为ARM设备创建与OSS通信的应用程序。 "libalibabacloud-oss-...
Visual Studio 2005(VS2005)是一个广受欢迎的开发环境,它支持多种编程语言,如C++。在这个场景下,我们讨论的是如何在VS2005中使用MYSQL++库来连接和操作MySQL数据库。 首先,"MYSQL++"是C++的一个开源库,专门...
错误提示:** `nafxcwd.lib(thrdcore.obj):error LNK2001: unresolved external symbol __beginthreadex` 和 `nafxcwd.lib(thrdcore.obj):error LNK2001: unresolved external symbol __endthreadex` **说明:** 当...
标题中的“error LNK2005 void __cdecl operator delete(void)”是一个常见的链接错误,它在C++编程中出现,通常涉及到多库编译时的符号重定义问题。这个错误表明在链接阶段发现了一个重复定义的`operator delete`...
- `LIBCD.lib(wincrt0.obj):error LNK2001: unresolved external symbol _WinMain@16` **原因分析:** 这种错误通常是由于项目设置中的子系统类型与程序的实际类型不匹配导致的。在VC++中,有两种主要的子系统类型...
如果在这种情况下使用了默认设置,则会出现`LIBCD.lib(wincrt0.obj):errorLNK2001:unresolved external symbol _WinMain@16`这样的错误提示。 **解决方案:** 1. 打开项目设置对话框:`Project` > `Settings`。 2....