visual studio编译错误集(转)

摘要:
缺少类型说明符。注意:C++不支持item属性中的默认int->常规->目标扩展名设置为.ocx或。dll项目->配置属性->->接住C1>C:

1、error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

在项目属性->Configration Properties->C/C++->Command Line页面的Additional Options中加入/wd4430

2、error MSB3073: The command regsvr32 /s /c 解决办法  

最近将VC2002 代码移植到VC2010,出现编译错误:

1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c "D:VC++Prjsource codezutaicha06Meter.DebugMeter.dll" 

1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec. time > ".Debug egsvr32.trg"

1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: :VCEnd" exited with code 3.

英文版处理办法: 

Project->Configuration Properties->General->Target Extension设置为.ocx 或者.dll

Project->Configuration Properties->Linkerl->General ->Output File设置为$(OutDir)$(ProjectName)$(TargetExt)

中文版处理办法: 

在项目上点右键,选择“属性”->“配置属性”->“常规”->“目标文件扩展名”,设置为.ocx 或者.dll

在项目上点右键,选择“属性”->“配置属性”->“链接器”->“ 常规 ”->“输出文件”,设置为$(OutDir)$(ProjectName)$(TargetExt)

3、altdef.h 都是这个文件里的定义

#ifndef ATLTRY
#define ATLTRY(x) ATLTRYALLOC(x)
#endif //ATLTRY

出问题的都是这个宏
ATLTRY(szKey = new TCHAR[cbKey]);
ATLTRY(pszW.Allocate(_convert));
                  ATLTRY(szReg.Allocate(dwSize + 1));


1>FilterImageGrabber.cpp
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(954) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(954) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(970) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(970) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(995) : error C2712: 无法在要求对象展开的函数中使用 __try
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(1008) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(1008) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(1024) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(1024) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(1190) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludeatlcomcli.h(1190) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(107) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(107) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(113) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(113) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(423) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(423) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(587) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(587) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(901) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(901) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(971) : error C2059: 语法错误 : “catch”
1>C:Program FilesMicrosoft Visual Studio 9.0VCatlmfcincludestatreg.h(971) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)

原来是工程属性-〉预定义里的问题,它在里面定义了try=_try,把这个删除就OK了

4、

Error MSB3073 exited with code 3

The issue that causes "Error MSB3073 exited with code 3" happens to be with the VALUE in the Outputs property under Project > Properties > Configuration Properties > Custom Build Step.

When I choose Edit for Outputs, a dialog box comes up.  I enter a value of "$(OutDir) egsvr32.trg" in the upper textbox then click OK.  Now for some reason VS 2010 changes the display text to show "$(OutDir) egsvr32.trg;%(Outputs)".  I'm not sure why or if that is the cause of the problem.

However, I will get "Build Successful" if I change my Output value to "<inherit from parent or project defaults>" instead of choosing Edit and putting a value in.  No more Error MSB3073 exited with code 3.

I guess I can say this issue is resolved but I'd like to know why/what causes this issue to begin with.

5、 fatal error LNK1181: cannot open input file'largeint.lib'
在linker->Input->Additional Dependencies中去掉largeint.lib

6、error MSB3073
最近将VC2002 代码移植到VC2010,出现编译错误:
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c "D:VC++Prjsource codezutaicha06Meter.DebugMeter.dll"
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec. time > ".Debug egsvr32.trg"
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: :VCEnd" exited with code 3.
英文版处理办法: 
Project->Configuration Properties->General->Target Extension设置为.ocx 或者.dll
Project->Configuration Properties->Linkerl->General ->Output File设置为$(OutDir)$(ProjectName)$(TargetExt)
中文版处理办法: 
在项目上点右键,选择“属性”->“配置属性”->“常规”->“目标文件扩展名”,设置为.ocx 或者.dll
在项目上点右键,选择“属性”->“配置属性”->“链接器”->“ 常规 ”->“输出文件”,设置为$(OutDir)$(ProjectName)$(TargetExt)

7、error D8016: '/ZI' and '/GL' command-line options are incompatible

把Debug调试项改为/ZI /Od
Project Settings 项->C/C++ -> General

8、fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.

C/C++->Preprocessor->Preprocessor Definitions中的_WIN32_WINNT=0x0501改掉就可以了

9、C:Program FilesMicrosoft Visual Studio 10.0VCatlmfcincludeatlcomcli.h(1101): error C2059: syntax error : 'catch'
1>C:Program FilesMicrosoft Visual Studio 10.0VCatlmfcincludeatlcomcli.h(1101): error C2143: syntax error : missing ';' before '{'


C/C++->Preprocessor->Preprocessor Definitions 下面的try=__try去掉。

10、regsvr32无法注册控件
depends.exe打开要注册的控件,找出这个控件所依赖的文件,缺少的文件在网上下载下来,补上就可以了。

11、Graphedt.exe打开后在任务栏里面有,但是点击后无法显示
打开任务管理器,在应用程序中找到Graphedt.exe,右击选择最大化就可以看见程序了。

12、开机自启动的注册表目录:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun下面,如果要开机启动某个程序,只要把这个程序的路径下载这个位置就可以了。

13、弹出对话框“attempt an unsupport operation!”,是因为被关联的控件的ID号和DoDataExchange中的控件ID不同。

14、“Encountered an improper argument”,控件被删除了,但是还有代码对控件进行操作而导致的

15、C:Program FilesMicrosoft SDKsWindowsv7.0Aincludewinioctl.h(39): error C2374: 'GUID_DEVINTERFACE_DISK' : redefinition; mult
重复包含了头文件“winioctl.h”


16、error C2059: syntax error : 'catch'
右键点击工程名,properties->Configuration Properties->C/C++->PreProcessor->Preprocessor Definitions中将try=__try去掉即可!


17、>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c D:DirectShow及协议资料DirectShow 实务精选+源码DirectShow实务精选源码SourceCodesChapter03VODDemoFilterNetReceiver.ReleaseFilterNetReceiver.dll
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec.time > D:DirectShow及协议资料DirectShow 实务精选+源码DirectShow实务精选源码SourceCodesChapter03VODDemoFilterNetReceiverReleaseFilterNetReceiver.trg
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: :VCEnd" exited with code 3.


18、error MSB3073
最近将VC2002 代码移植到VC2010,出现编译错误:
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c "D:VC++Prjsource codezutaicha06Meter.DebugMeter.dll"
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec. time > ".Debug egsvr32.trg"
1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppCommon.targets(183,5): error MSB3073: :VCEnd" exited with code 3.
英文版处理办法: 
Project->Configuration Properties->General->Target Extension设置为.ocx 或者.dll
Project->Configuration Properties->Linkerl->General ->Output File设置为$(OutDir)$(ProjectName)$(TargetExt)
中文版处理办法: 
在项目上点右键,选择“属性”->“配置属性”->“常规”->“目标文件扩展名”,设置为.ocx 或者.dll
在项目上点右键,选择“属性”->“配置属性”->“链接器”->“ 常规 ”->“输出文件”,设置为$(OutDir)$(ProjectName)$(TargetExt)

这个仍然不能解决的话就将“属性”->“配置属性”->“链接器”->Custom Build Step中的Command line,Description,Outputs都选为默认值。即去除  不要自注册。

19、error C2872: “CString”: 不明确的符号 
 
DUILIB与MFC的结合
会产生Crect等冲突。
解决方法:
1:在stdafx.h中添加
#if USE(DuiLib)
#define  CRect DuiLib::CRect
#define  CPoint DuiLib::CPoint
#define  CSize DuiLib::CSize
#else
#define CRect ::CRect
#define  CPoint ::CPoint
#define  CSize ::CSize
#endif
在用的地方定义DuiLib
2:将duilib中的crect工程中全部改名Cduirect等。全工程替换。不过一分钟的事。
3:不在MFC中使用 using namespace Duilib 在使用duilib时都加上Duilib::Crect。


20、关于这样的错误 libcpmtd.lib(string.obj) : error LNK2005: "public: void __thiscall


VC2008下 在一个动态库工程中, 改成了编程静态库, 成功编译, 但使用静态库的工程编译时就出现下面一堆连接错误.
 
经过查找 解决方法如下:
说是因为 Project->C/C++->Code Generation->Runtime Library 这个选项,LIB和主程序(EXE)里选择的不一致引起的。后来改成一样就好了。
 
把exe工程 改为/MTD(因为Lib工程是选择/MTD的) 编译还是错误
于是 把EXE工程和Lib工程都选择为/MDD 成功编译

21、error C2159: more than one storage class specified 

将vc6.0的工程转换成vs2008居然就编译通过了

22、error C2872: 'ostream' : ambiguous symbol

改变了#include <iostream>的位置就好了

免责声明:文章转载自《visual studio编译错误集(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇抓取Web网页数据分析oracle连接总结(内连接、外连接、自然连接,交叉连接,自连接)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

RT-Thread代码启动过程——以及 $Sub$ $main 与 $Super$ $main

【转】https://blog.csdn.net/yang1111111112/article/details/80913001 我们找到系统复位的地方,可以往下单步跟踪。 ①从系统初始化开始执行,将函数地址赋给R0寄存器,跳转到R0地址执行并返回此处(BLX是带链接的跳转,即带返回的跳转)。 ②将main函数地址给R0,将函数地址赋给R0,跳转到R0地址...

Qt设置创建部分半透明,上面控件不透明

//头文件#pragma once #include <QWidget> #include "ui_widgetFullAD.h" class widgetFullAD : public QWidget { Q_OBJECT public: widgetFullAD(QWidget *parent = Q_NULLPTR)...

Samba安装配置

Samba简介 Samba官网:http://www.samba.orgSMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“N...

XML格式以及相关libxml库学习

本文参考 XML文件格式语法以及DTD,摘除其中自己认为必要的知识点,在此记录如下。 先给出一个xml的实例文件, <?xml version="1.0" encoding="utf-8"?> <gadget> <name>日历</name> <namespace> <...

js跨域问题的解决

  js提交请求给别的应用实例或者别的服务器,由于同源策略,存在js跨域的情况,我所知道两种处理方式; 1、jquery ajax+jsonp <script type="text/javascript" src="http://t.zoukankan.com/jquery.js"></script> <script type...

mysql中文、英文别名排序问题,order by 关键字详解

 order by 关键字详解:   SELECT intcode AS 商品编码, product_title AS 名称, retailprice AS 零售价, purchaseprice AS 合同进价 FROM product_detail WHERE brand='0063飘柔' AND purchaseprice>10 ORDE...