编译错误2

本文迁移自本人网易博客,写于2015年11月25日,编译错误2 - lysygyy的日志 - 网易博客 (163.com)

1、error C2059:语法错误:“<L_TYPE_RAW>”

error C2238:意外的标记位于“;”之前.

错误代码定位于:

BOOL TreeView_GetCheckState(HWND hwndTreeView, HTREEITEM hItem);

原因:低版本升级高版本的问题。_WIN32_IE 0x0400正确,若改成_WIN32_IE 0x0500出现如题错误,因为函数名TreeView_GetCheckState正好与一个宏同名了,最好是修改该函数名。

需修改头文件“StadAfx.h”如下:

#define STRICT

#ifndef VC_EXTRALEAN

#define VC_EXTRALEAN //- Exclude rarely-used stuff from Windows headers

#endif

//- Modify the following defines if you have to target a platform prior to the ones specified below.

//- Refer to MSDN for the latest info on corresponding values for different platforms.

#ifndef WINVER //- Allow use of features specific to Windows 95 and Windows NT 4 or later.

#define WINVER 0x0500 //- Change this to the appropriate value to target Windows 98 and Windows 2000 or later.

#endif

#ifndef _WIN32_WINNT //- Allow use of features specific to Windows NT 4 or later.

#define _WIN32_WINNT 0x0400 //- Change this to the appropriate value to target Windows 2000 or later.

#endif

#ifndef _WIN32_WINDOWS //- Allow use of features specific to Windows 98 or later.

#define _WIN32_WINDOWS 0x0410 //- Change this to the appropriate value to target Windows Me or later.

#endif

#ifndef _WIN32_IE //- Allow use of features specific to IE 4.0 or later.

#define _WIN32_IE 0x0400 //- Change this to the appropriate value to target IE 5.0 or later.

#endif

2、error PRJ0002 : 错误的结果 31 (从“C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\mt.exe”返回)。

方法1:重新编译可成功,但该错误经常会出现。

3、1>mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "..\bin2010\CheckPromptUI_JL.arx". f

方法1:重新编译可成功,但该错误经常会出现。

4、error C2061: 语法错误 : 标识符“CStringArrayArray”

5、fatal error C1076

编译错误

fatal error C1076: 编译器限制,达到内部堆限制;使用/Zm指定更高的限制。

编译器选项 /Zmnumber

在“项目属性”的命令行下,添加/Zmnumber,其中number是自己想要指定的比例系数;

可以指定的值是:10,100,200,1000,2000,对应的memory alloction是5.0M,50MB,100MB,500MB,1000MB;

在过去的VC版本中,编译器使用的堆内存是离散的,每块都有上限;

现在编译器是按照需要动态来分配堆内存的;

但仍然给预编译头文件以有限固定堆内存的大小;如果不够,会给出C1076错误;

这只是在写一些非常复杂的程序时才出现;

解决方法:

进入工程->点右键->工程属性->c++-〉命令行,在最下边输入/Zm200,点确定。

6、error C3506: 没有为 LIBID“{6FCCEDE0-179D-4D12-B586-58C88D26CA78}”注册的类型库

fatal error C1104: 导入 libid 时遇到错误:“6FCCEDE0-179D-4D12-B586-58C88D26CA78”

解决方法:安装ArcGIS10.0以上运行时。

7、dynaset.cpp:error 1083:无法打开包括文件“stdafx.h”:No such file or directory.

解决方法:将dynaset.cpp设为不使用预编译头,并去掉 #include "stdafx.h";

StandardBar.h(20) : fatal error C1083: 无法打开包括文件:“resource.h”: No such file or directory

解决方法:屏蔽掉 " #include "resource.h" "

8、error C3859: 超过了 PCH 的虚拟内存范围;请使用“-Zm126”或更大的命令行选项重新编译

fatal error C1076: 编译器限制 : 达到内部堆限制;使用 /Zm 指定更高的限制

解决方法如下图所示:

9、1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxv_w32.h(16) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>

10、LNK2005:_PchSym已经在acrxEntryPoint.obj中定义

在项目->属性->链接器->命令行->附加选项中加 /force

忽略掉第二定义。

11、fatal error LNK1169: 找到一个或多个多重定义的符号

当.h文件里有函数实现时

VS2005编译器报此错误,

解决方法

1.在.h里的函数声明前加 inline

2.在项目->属性->链接器->命令行->附加选项中加 /force

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值