Visual C++ 入门,错误记录

  • 出现"eh.h is only for C++!"错误的解决方法

    注意: vc在处理.c 文件是按 C 语言编译的,所以
    假如有以下文件: 1.c
    #include <fstream>
    int main(int argc, char* argv[])
    {
    return 0;
    }
    那么编译时就会出错:
    fatal error C1189: #error : "eh.h is only for C++!"
    这是因为fstream标准库要求用到eh.h文件,而Exception Handling的实现需要c++支持。
    只要把1.c改成1.cpp即可
  • LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/firstapi.exe :
  • 项目创建错误,应该选择Win32 Console Project,而不是 Win32 Project






  • fatal error C1010: unexpected end of file while looking for precompiled head

    致命错误C1010:在寻找预编译指示头文件时,文件未预期结束。
      就是没有找到预编译指示信息的头文件。
      问题一般发生在:通过添加文件的方式,添加了一些cpp文件到一个MFC的程序,但该cpp文件并不是MFC,而是标准的C++。 
      解决方案1: 右键单击项目工程中的cpp文件,在菜单Project->Settings->C/C++->Precompile Header,设置为第一项:Not using precompile headers。
      解决方案2:在.cpp文件开头添加包含文件stdafx.h。 #include"stdafx.h"
    关于#include"stdafx.h"
    如何理解其原理
      通俗一点说
      当我们使用AppWizard来自动生成某些项目的时候,系统会自动把所需要include的头文件在stdafx.h中先include一下,这样,我们只需要直接include这个stdafx.h文件即可.因为同一个项目中的不同源文件CPP都包含相同的include文件,这样,为每个.CPP文件都重复include这些文件就显得很傻了。当然如果你不用MFC的话就不用了。即:在每个.cpp文件中都include stdafx.h 就相当于包含了其他的如iostream.h等文件
    
    与stdio.h的区别
      我们一般用TC或vc编译C程序的时候都要首先包含这个stdio.h头文件,这个头文件里面包含了scanf和printf函数的定义,如果我们不在程序开头include这个文件,那么你调用上面这两个函数就不会成功,它其实和c++中的iostream.h文件的作用差不多的,它们一般都已经在stdafx.h文件中被包含。


  • fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory但在出现这个时则需要把

    在VC++6.0中新建一个Win32 Console Application工程,然后将上述代码复制过去.同时,去掉

    #include "stdafx.h" 语句.然后执行既可通过.

    出现这类错误,都需要将#include "stdafx.h"这条语句去掉


  • Linking... c_2.obj : error LNK2005: _main already defined in c_1.obj

    一个工程里面,只能有一个main函数,main是函数的入口了,所以把其他文件移出工程就可以运行了


  •  error C2065: 'getline' : undeclared identifier
  • getlie这个标识名有命名空间 std中定义的。如果要使用,还加上
    using namespace std;

运行VC++时,没有找到msvcrtd.dll ,怎么办?

有两种解决方法:
1、到网上下载一个,百度或GOOGLE一下就会有很多下载地址;
2、在VC工程中,在Project Settings中,General标签下的Microsoft Foundation Classes选Use MFC in a Static Library,这样会使用VC++“\Program Files\Microsoft Visual Studio\VC98\Lib\”目录下的静态库
Msvcrtd.lib。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值