1~4:VS2015
5往后:VS2017
想喊百度的ai时,可搜:opencv内存清理。
1、LNK1181:cannot open input file 'ImageProcessing.lib'
明明路径是对的,然后路径上也确实有这个lib文件,但就是报错。
解决方案:
solution 属性配置 Project Dependencies ,选择main_project,然后勾选上其依赖的子project。
这样就可以成功编译了
参考链接:VS2013 error LNK1104: cannot open file " .lib"
2、vs2015 qt ui CannotOpenFile
VS2015,一打开ui文件就闪退。
解决方案:
右击ui文件,选择[打开方式],重新添加,并将其设置为默认值;
添加的路径为:C:\Qt\Qt5.9.7\5.9.7\msvc2015_64\bin\designer.exe
3、MSB8020: 无法找到 v143 的生成工具(平台工具集 =“v143”)。若要使用 v143 生成工具进行生成,请安装 v143 生成工具
找到项目根目录下”.vcxproj”后缀的文件,用记事本方式打开。
将提示无法找到的“v143”全部替换成你自己对应的“v140”。
切换回Visual Studio,会弹出以下提示,我们选择“全部重新加载”。
在菜单中选择“生成->重新生成解决方案”。
选择生成->重新生成解决方案,这时候可以看到,生成成功,没有报错,完美解决问题。over
4、imshow图像无法显示 或显示全白且无法点开
方法一:cv::destroyAllWindows()
出现imshow图像无法显示解决方案
cv::destroyAllWindows();//先显示出来(cv::imshow)再销毁,再重新用就可以了(只需用一次就能恢复正常
cv::destroyAllWindows();//先显示出来(cv::imshow)再销毁,再重新用就可以了(只需用一次就能恢复正常)
方法二:
原因:可能是由于上一次运行时,图像imshow出来的位置是在拓展屏。再次运行时图像imshow的位置仍然默认在拓展屏,但电脑并没有接上拓展屏。导致图像没有正常显示且无法点击打开。
解决方案:将拓展屏接上持续运行程序一次,将无法显示的图像拉到非拓展屏的主桌面,然后点击图像右上角的“X”把图像关闭后再结束运行程序。即可。
拔掉拓展屏后程序重新运行一次,图像即可正常显示。
5、E1696 无法打开Qt源文件
查看自己安装的qt插件名字是否与工程本身设置的对上。不是自己安装的那个名字的话,工程会找不到Qt相关的头文件。
E1696:无法打开源文件 “platform.winmd”
C1107:未能找到程序集“platform.winmd”: 请使用 /AI 或通过设置 LIBPATH 环境变量指定程序集搜索路径
在项目属性的C/C++常规页找到“使用Windows运行时扩展”选为“是”
如果问题没解决的话在如下路径里找到了platform.winmd所在的文件夹:
然后可以试着在其他#using指令里加一下(windows.winmd同理)
实在找不到可用软件everything搜索
6、C2440:'initializing': cannot convert from 'const wchar_t [5]' to 'TCHAR *'
原代码:
TCHAR szFileName[MAX_PATH] = { 0 };
//TCHAR* szVersion = (PWCHAR)"v1.0";
TCHAR* szVersion = L"v1.0";
TCHAR dwBufferSize = MAX_PATH;
解决方案:
将 TCHAR* szVersion = L"v1.0";替换为 TCHAR* szVersion = (PWCHAR)"v1.0";
即:
TCHAR szFileName[MAX_PATH] = { 0 }; TCHAR* szVersion = (PWCHAR)"v1.0"; //TCHAR* szVersion = L"v1.0"; TCHAR dwBufferSize = MAX_PATH;
即可。
7、E0167:"const wchar_t *" 类型的实参与 "PWCHAR" 类型的形参不兼容
原代码:
//return GenerateMiniDump(NULL, lpExceptionInfo, (PWCHAR)"test");
return GenerateMiniDump(NULL, lpExceptionInfo, L"test");
解决方案:
将 return GenerateMiniDump(NULL, lpExceptionInfo, L"test");替换为 return GenerateMiniDump(NULL, lpExceptionInfo, (PWCHAR)"test");
即:
return GenerateMiniDump(NULL, lpExceptionInfo, (PWCHAR)"test"); //return GenerateMiniDump(NULL, lpExceptionInfo, L"test");
即可。
8、error LNK2001: 无法解析的外部符号 _DllMainCRTStartup
当创建DLL项目时,尤其是一些资源转化成dll时,其不要dllmain()时,会出现:error LNK2001: 无法解析的外部符号 _DllMainCRTStartup@12 错误。
解决办法:右击,项目属性-->连接器-->高级-->无入口点:改成 是。/NOENTRY 选项是创建纯资源DLL所必需的。使用此选项可防止LINK将对_main的引用链接到DLL。
9、VS编译库时生成DLL没有产生lib的解决方法(三种)
使用vs生成DLL时,没有产生lib,一般发生在我们自己创建的DLL项目中,产生这个问题的主要原因是没有导出类。
导出DLL标记有两种方法,只要采用其中一种就可以解决。
1.添加def文件在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
或:
项目->属性->链接器->输入->模块定义文件,设置你的模块定义文件,默认为lib.def,也可以改成你想要定义文件的名称。注意,这里是模块定义文件的名称,不是.lib文件。
2.导出类// 注意,_declspec(dllexport)导出标记在class与类名中间 class _declspec(dllexport) ImageProcessing { public: ImageProcessing(); ~ImageProcessing(); }
_declspec(dllexport) int fun(int m); // 函数的导出标记位置在返回值最前面
(超重点,DLL类的导出标记在class与类名之间,而函数的导出标记在返回类型之前)
3.预处理器定义添加
点击应用,然后在
C/C+±预处理器-预处理下定义-添加:LIBLEPT_EXPORTS
10、C3646:未知重写说明符
参考链接:C++报错: error C3646: 未知重写说明符
类的定义的先后顺序有误:
如果一个类的成员中包含另一个类,则被包含的类的生命一定要在包含的类之前。
class Auto { Tire tire; } class Tire { int weight; } // This will cause error C3656
解决方法:调整类的位置。
11、error MSB3073: 命令“setlocal
打开自己项目,右键单击属性进入生成后事件,命令行查看自己路径是不是正确的。
解决方法如下图:
12、C3688:文本后缀”銆”无效:未找到本运算符模板"operator"“銆”
解决方法:在菜单栏中点击文件目录下的高级保存选项,进入之后,将编码由Unicode(UTF-8无签名)更换为简体中文(GB2312)-代码页936 就好。
若找不到“高级保存选项”:
over。
13、CMake报错:编译过程中一直显示缺少dll
cmake编译过程中一直显示缺少dll,则直接将.dll复制到cmake安装文件夹的bin文件夹里即可。
14、CMake报错:Invalid character escape '\T'. Call Stack (most recent call first)
CMake编译报错: Invalid character escape '\T'. Call Stack (most recent call first)
解决方案:将填入的路径里的“\”全部改成“/”就好。
如果检查斜杠都对了,那就根据报错信息看一下路径是否都存在。
15、QT error C1083: Cannot open include file: 'QMainWindow': No such file or directory
前情提要:一个小时前都还能正常编译允许的qt工程,在尝试添加现有dll工程与同一个解决方案下时,突然间一堆qt报错,基本都是C1083找不到qt头文件的错误。
其他解决方法都尝试过还是一直未能解决报错。可以试下:
$(Qt_INCLUDEPATH_)
16、运行后没有黑色控制台显示
17、Qt项目的exe拷过去后不能运行
17.1 缺dll
缺dll的在路径“C:\Qt\Qt5.9.7\5.9.7\msvc2015_64\bin”下找,缺什么补什么,放到exe同级即可。
17.2 缺平台集和无法读取jpg图片
路径:“C:\Qt\Qt5.9.7\5.9.7\msvc2015_64\plugins”
缺平台集:把文件夹“platforms”放到exe同级位置。
无法读取jpg图片:把文件夹“imageformats”放到exe同级位置。
![](https://i-blog.csdnimg.cn/direct/6824411d5977486ea8e16e270195fe47.png)
18、vs release模式下无法断点
1)
2)
3)
调试–》选项–》调试(常规),一下两个选项取消勾选