Visual C++ 入门,错误记录

来源:互联网 发布:俞飞鸿是les知乎 编辑:程序博客网 时间:2024/06/11 01:07
  • 出现"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。

原创粉丝点击