VC,VS,C++,OpenGL,OpenCV,VTK,Python常见的编译错误及解决方案

其实这个博客应该在自己入门的时候写的,这样就可以完完整整的记录在学习的过程中所遇到的一些编译错误,这样既可以防止自己在下次碰见这个问题不会因为忘记而导致又得重新寻找解决方法,再者可以很好地帮助其他新的入门者,不过从现在开始也不算太晚。

1.error c3861:"_T:找不到标识符"

包含以下头文件#include<tchar.h>

2.error C2664: “CreateFileW”: 不能将参数 1 从“const char [19]”转换为“LPCWSTR”

在出错的字符串如“system.txt”,将其变为_T("system.txt")

3.error C3861: “setprecision”: 找不到标识符

加头文件#include<iomanip>

4. error C2501: 'vector' : missing storage-class or type specifiers

没有在正确的地方加上头文件#include<vector>,MFC中要将此头文件放在正确的位置;还有一种原因,添加using namespace std;

5.VS2010提示资源已在另一编辑器中打开

在VS顶层菜单,“窗口”下有个“关闭所有文档”,单击,重新打开资源视图就可以

6.VS中出现error C2665:“AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型

方法1:将AfxmessageBox("Hello!");改为AfxmessageBox(_T("Hello"))!;

方法2:选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设置”即可。

7.

无法解析的外部符号"public:__thiscall cv::SURF::SURF(void)" (??0SURF@cv@@QAE@XZ),该符号在函数main 中被引用

无法解析的外部符号"public:__thiscall cv::SURF::SURF(double,int,int,bool,bool)"(??0SURF@cv@@QAE@NHH_N0@Z),该符号在函数main 中被引用

解决方法:

(1)添加#include"opencv2/nonfree/features2d.hpp"头文件

(2)用VS2010的话就在通用属性->连接器->输入->附加依赖项里边添加上库文件opencv_nonfree249d.lib这里最后的249具体可能根据你的版本变化,为你当前opencv版本,d字母表示debug,也可去掉,表示Release。


8.error RC2170: bitmap file res\XXX.bmp is not in 3.00 format

MFC中添加资源时,如果你的bmp图片是通过画图工具打开,然后另存为bmp文件的话,在编译的时候会报这个错

从网上搜罗了一些答案,最终确定原因是VS中不识别PNG文件,它只会识别系统自带的bmp画图工具产生的文件,我是把PNG文件通过上述方式改为bmp,直接改后缀名并不能完全新生成一个bmp文件,但是在编译的时候就报上述错误


解决办法:


鼠标右键——新建BMP图像——鼠标右键——编辑

在原来的bmp文件上鼠标右键——编辑——全选——复制

然后再新建的BMP图像中,直接粘贴保存,然后把原来的bmp文件删除掉,将这个新建的文件名改成原来的名字


再编译就能通过了

9.

去除VS2010对汉字的拼写检查后留下的红色波浪线

VAssistX菜单栏->Visual Assist X Options->Underlines->把underlines spelling errors in comments and strings using前面的勾去掉就行


你可能感兴趣的:(VC,VS,C++,OpenGL,OpenCV,VTK,Python常见的编译错误及解决方案)