一: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->PreprocessorDefinitions中的_WIN32_WINNT=0x0501改掉就可以了
(2)
regsvr32无法注册控件
解决方法:
depends.exe打开要注册的控件,找出这个控件所依赖的文件,缺少的文件在网上下载下来,补上就可以了。
(3)
Graphedt.exe打开后在任务栏里面有,但是点击后无法显示
解决办法:打开任务管理器,在应用程序中找到Graphedt.exe,右击选择最大化就可以看见程序了。
(4)
弹出对话框“attempt anunsupport operation!”,是因为被关联的控件的ID号和DoDataExchange中的控件ID不同。
(5)“Encounteredan improper argument”,控件被删除了,但是还有代码对控件进行操作而导致的
(6)
C:\ProgramFiles\Microsoft SDKs\Windows\v7.0A\include\winioctl.h(39): error C2374:'GUID_DEVINTERFACE_DISK' : redefinition; mult
重复包含了头文件“winioctl.h”
(7)
error C2059: syntax error : 'catch'
右键点击工程名,properties->ConfigurationProperties->C/C++->PreProcessor->Preprocessor Definitions中将try=__try去掉即可!
(8)
关于这样的错误 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 成功编译
(9)
errorC2159: more than one storage class specified
将vc6.0的工程转换成vs2008居然就编译通过了
(10)
errorC2872: 'ostream' : ambiguous symbol
改变了#include<iostream>的位置就好了
(11)error MSB4044: 未给任务“CppClean”的必需参数“FoldersToClean”赋值
The "CppClean" task was not givena value for the required parameter "FoldersToClean"
解决办法:工程 - 属性 - 配置属性 - 常规 - 中间目录,为空导致这个错误。写入$(Configuration)即可。
(12)error D8016: '/ZI' and '/GL' command-line options areincompatible
解决办法:把Debug调试项改为/ZI /Od ; Project Settings 项->C/C++ -> General
(13)
fatalerror C1189: #error : This file requires_WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher isrecommended.
解决办法:C/C++->Preprocessor->PreprocessorDefinitions中的_WIN32_WINNT=0x0501改掉就可以了
(14)
errorC2059: syntax error : 'catch'
解决办法:properties->ConfigurationProperties->C/C++->PreProcessor->Preprocessor Definitions中将try=__try去掉即可!
(15)
errorC2664: “MessageBoxW”: 不能将参数 2 从“const char [17]”转换为“LPCWSTR”
解决办法:将多字符集改成Unicode字符集
(16)
在运行控制台程序的时候经常会一闪而过
解决办法:可以再代码的最后加上system("pause");
(17)
errorLNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
解决办法:
1.菜单中选择 Project->Properties, 弹出Property Pages窗口
2.在左边栏中依次选择:ConfigurationProperties->C/C++->Preprocessor,然后在右边栏的PreprocessorDefinitions对应的项中删除_CONSOLE, 添加_WINDOWS.
3.在左边栏中依次选择:ConfigurationProperties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)
本文源于https://blog.csdn.net/qq_25867649/article/details/53887270(侵删!)