visual studio编译错误集(转)

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 Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c "D:\VC++Prj\source code\zutai\cha06\Meter\.\Debug\Meter.dll"

1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec. time > ".\Debug\regsvr32.trg"

1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.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 Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(954) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(954) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(970) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(970) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(995) : error C2712: 无法在要求对象展开的函数中使用 __try
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(1008) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(1008) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(1024) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(1024) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(1190) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcomcli.h(1190) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(107) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(107) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(113) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(113) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(423) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(423) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(587) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(587) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(901) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(901) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.h(971) : error C2059: 语法错误 : “catch”
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\statreg.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)\regsvr32.trg" in the upper textbox then click OK.  Now for some reason VS 2010 changes the display text to show "$(OutDir)\regsvr32.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 Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c "D:\VC++Prj\source code\zutai\cha06\Meter\.\Debug\Meter.dll"
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec. time > ".\Debug\regsvr32.trg"
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.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 Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlcomcli.h(1101): error C2059: syntax error : ‘catch‘
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlcomcli.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_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下面,如果要开机启动某个程序,只要把这个程序的路径下载这个位置就可以了。

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

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

15、C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winioctl.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 Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c D:\DirectShow及协议资料\DirectShow 实务精选+源码\DirectShow实务精选源码\SourceCodes\Chapter03\VODDemo\FilterNetReceiver\.\Release\FilterNetReceiver.dll
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec.time > D:\DirectShow及协议资料\DirectShow 实务精选+源码\DirectShow实务精选源码\SourceCodes\Chapter03\VODDemo\FilterNetReceiver\Release\FilterNetReceiver.trg
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: :VCEnd" exited with code 3.

18、error MSB3073
最近将VC2002 代码移植到VC2010,出现编译错误:
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: The command "regsvr32 /s /c "D:\VC++Prj\source code\zutai\cha06\Meter\.\Debug\Meter.dll"
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(183,5): error MSB3073: echo regsvr32 exec. time > ".\Debug\regsvr32.trg"
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.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>的位置就好了

时间: 2024-08-05 23:41:43

visual studio编译错误集(转)的相关文章

解决Visual Studio编译错误:在证书存储区中找不到清单签名证书

解决Visual Studio编译错误:在证书存储区中找不到清单签名证书 [1]方法一:右击项目→属性→签名→将<为ClickOnce清单签名(M)>前面的勾去掉. [2]方法二:用记事本打开相应的csproj文件,调整节点值:<SignManifests>true</SignManifests>将true修改为false. [3]方法三:在签名中创建一个新的签名.本方法未测试. 解决Visual Studio编译错误:在证书存储区中找不到清单签名证书,布布扣,bubu

cypthon的visual studio编译环境安装

按照教程,如果出现vcvarsall.bat找不到的情况,则需要安装正确版本的visual studio http://docs.cython.org/src/tutorial/cython_tutorial.html python 2.7.x使用的是vs2008,如果没有安装,可以安装vs2008 express版本.下图是查看vs所使用的vs编译器的版本的方法. 可以通过检查环境变量中VS90COMNTOOLS是否存在来确定vs2008 express是否安装好. 下面是配置过程: 先安装v

Visual Studio 编译项目失败,提示找不到文件

?? 博客地址:http://blog.csdn.net/FoxDave 今天碰到了一个蠢问题,虽然咱们正常情况下是遇不到的,但这确实是个应该注意的地方,所以简单记录一下. Visual Studio 编译项目失败,提示找不到CS文件什么的,但是你的项目里文件明明是存在的,出现这种情况的时候看看你的项目是不是处在了一个比较深的文件夹层次目录里,由于full path太长而导致报出找不到文件的错误. 解决的办法就是把你的项目移动到一个浅的文件目录. 觉得自己太水了--

Gnuradio 学习笔记(1)使用Visual Studio编译gnuradio

目标:使用 Visual Studio 编译gnuradio的示例程序dial_tone 一.装备环境 1.安装 Visual Studio 2010 略 2.安装 Boost 库 从 Boost 官网下载最新的源码包,解压后,按照 GnuRadio 源代码目录下的 README.building-boost 文件描述,对 Boost 库 进行编译安装 .打开一个 Visual Studio 2010 命令行窗口,运行: bootstrap.bat set BOOST_PREFIX=<path_

Error:Execution failed for task &#39;:app:compileDebugAidl&#39;. &gt; aidl is missing(Android Studio编译错误)

今天下载了一个1.2.1.1版本的Android Studio,使用VPN更新好SDK之后就新建了一个hello world工程测试一下环境,然后就出现以下错误: Error:Execution failed for task ':app:compileDebugAidl'. > aidl is missing 什么情况?全新安装的环境也有错误?Google发布这个工具时没有测试好吗? 没搞过这个工具,一阵搜索得到以下方案: 1.右键工程->Open Module Settings 2.将Bu

将libvex移植到Visual Studio编译平台下的经验总结

1. 两难 将libvex从Linux移植到Windows,移植工作聚集于Cross-Compiler,而不是预料的Cross-Platform. VC++ Compiler到目前为止只支持C89标准,而这个标准规定,变量必须在代码块(即通过大括号包围起来的代码块)的最前面声明,参考 http://stackoverflow.com/questions/13308944/how-to-simulate-c99-in-visual-studio-for-variables-declaration

visual studio 编译caffe 应用于python环境(无cuda)

1.卸载visual studio(如果你的vs为2013版本进入步骤2) 2.安装vs2013.官网链接:https://my.visualstudio.com/Downloads?q=visual%20studio%202013&wt.mc_id=o~msft~vscom~older-downloads 3.下载caffe master.官网链接:https://github.com/Microsoft/caffe 4.解压缩caffe master,在.\caffe-master\wind

Visual Studio 2013 错误系统找不到指定文件,0x80070002

错误:Visual Studio 2013 按照成功后,可以创建空web项目,但不能建webform 和 mvc 项目. 提示系统找不到指定文件,0x80070002. 解决方式: Step1: Within VS, Tools > Extensions and Updates Step2: Expand Online and choose Visual Studio Gallery Step3: Search for NuGet Package Manager for Visual Studi

《CLR Via C#》Visual Studio编译之后的.pdb文件

在用Visual Studio新建项目之后,进行编译,总会发现.pdb文件: 在CLR Via C#中讲到,.pdb文件是用来调试用的.pdb是Program Database的简写,它能够进行source code和IL之间的映射. The compiler produces a Program Database (PDB) file only if you specify the /debug(+/full/pdbonly) switch. The PDB file helps the de