• VC6.0开发中一些链接错误的解决方法


    (1)error LNK2001: unresolved external symbol _main 

    编号:LNK2001 
    直译:未解决的外部符号:_main。 
    错误分析:缺少main函数。看看main的拼写或大小写是否正确。 

    (2)error LNK2005: _main already defined in xxxx.obj 

    编号:LNK2005 
    直译:_main已经存在于xxxx.obj中了。 

    错误分析: 

    直 接的原因是该程序中有多个(不止一个)main函数。这是初学C++的低年级同学在初次编程时经常犯的错误。这个错误通常不是你在同一个文件中包含有两个 main函数,而是在一个project(项目)中包含了多个cpp文件,而每个cpp文件中都有一个main函数。引发这个错误的过程一般是这样的:你 写完成了一个C++程序的调试,接着你准备写第二个C++文件,于是你可能通过右上角的关闭按钮关闭了当前的cpp文件字窗口(或者没有关闭,这一操作不 影响最后的结果),然后通过菜单或工具栏创建了一个新的cpp文件,在这个新窗口中,程序编写完成,编译,然后就发生了以上的错误。原因是这样的:你在创 建第二个cpp文件时,没有关闭原来的项目,所以你无意中新的cpp文件加入你上一个程序所在的项目。切换到“File View”视图,展开“Source Files”节点,你就会发现有两个文件。 

    在编写C++程序时,一定要理解什么是 Workspace、什么是Project。每一个程序都是一个Project(项目),一个Project可以编译为一个应用程序(*.exe),或者 一个动态链接库(*.dll)。通常,每个Project下面可以包含多个.cpp文件,.h文件,以及其他资源文件。在这些文件中,只能有一个main 函数。初学者在写简单程序时,一个Project中往往只会有一个cpp文件。Workspace(工作区)是Project的集合。在调试复杂的程序 时,一个Workspace可能包含多个Project,但对于初学者的简单的程序,一个Workspace往往只包含一个Project。 

    当完成一个程序以后,写另一个程序之前,一定要在“File”菜单中选择“Close Workspace”项,已完全关闭前一个项目,才能进行下一个项目。避免这个错误的一个方法是每次写完一个C++程序,都把VC6彻底关掉,然后重写打开VC6,写下一个程序。

  • 相关阅读:
    弹飞绵羊
    POJ 3308
    狼抓兔子
    块状链表题*1
    块状链表
    双向链表
    Linux入职基础-1.2_U盘安装RedHat5具体步骤
    Linux入职基础-1.1_国内开源的主要镜像站
    VS.NET(C#)--2.9_HTML服务器控件案例
    VS2015按钮方法
  • 原文地址:https://www.cnblogs.com/xiao-fang/p/3344539.html
Copyright © 2020-2023  润新知