开发工具问题集锦
C++,QT,VS...
由于本人在使用开发工具时,总是遇到各种莫名其妙的问题,因此到今天总算觉得还是写一份问题集锦,以备查验,为路过的大神和小白提供参考.
1.问题:vs2019启动不起来
- 工具链:win7+vs2019 + QT
- 详细:
-
1) 使用vs2019启动项目,只发现任务管理器里有devenv.exe,但是一直不出现界面,也没提示
-
2)单独打开vs2019,也如同上面的情况一样
-
解决方案:
-
1) 修复vs2019后可以启动(注:一定要全部修复,第一次修复是发现.netdot...一直没动,我就关了,结果还是不行,最后完整修复后才可以打开有问题的项目文档),
-
2) 将所有项目文件和解决方案文件替换成没问题的,才解决;
-
3) 将devenv.exe设置为所有用户默认以管理员身份运行.
-
注:此问题,先执行3,然后如果有问题,在执行2,再执行1, 替换文件时,注意备份.
-
原因:
-
1) 现场人员强制关机导致VS和项目文件损坏了.
-
2) vs2019和win7的权限控制出了问题(因为我本来就是内置账户administrator,但是还需要设置为以管理员身份运行).而且以管理员身份运行,启动速度都变快了一点.
2.问题:有个虚拟机宿主系统强制关闭,导致虚拟机启动时说某个应用程序正在使用此虚拟机,即使使用获取所有权也无法打开
- 工具链:vmware workstation 15
- 解决方案:
-
将虚拟机文件目录中带.lck结尾的文件夹删掉即可.
- 原因:宿主系统强制关闭,导致虚拟机软件没有正常关掉虚拟机和删除锁锁虚拟机的相关文件.
3.问题:今天将原来的32位程序编译生成64位版本后,不知道为什么原本有的控制台不显示了
- 工具链:VS2019+QT5.12.1+VC2015
- 解决方案:
-
1) 修改项目属性->链接器->系统->子系统选择:控制台 (/SUBSYSTEM:CONSOLE),未解决
-
2) 在网上搜索方案,尝试一下方案解决:
-
//main函数 在开始添加 AllocConsole(); freopen("CONOUT$", "w", stdout);//开启中文控制台输出支持 //执行程序正常内容 doSomething(); //在main函数退出 FreeConsole(); //释放
注:此情况太奇葩了,以前从来没遇到过,特此记录.
4 问题:QChart的QValueAxis编译错误
- 工具链:VS2019 + VC2015+QT5.9.3
- 解决方案:
- 将项目中的windows.h替换成qt_windows.h,没成功,可能是项目多重引用或者其他问题,导致
- 项目定义宏NOMINMAX,原本使用的windows.h可以不用替换为qt_windows.h
- 原本使用min或者max的引用algorithm,使用std::min 或std::max
- 另外网上提到的直接将windows.h替换成qt_windows.h,可以尝试一下看行不行.
- 原因:
- 网上说是函数max和visual c++中的全局宏max冲突,所以全局宏真是"牛皮癣"啊.
5 问题:vs点击生成,报已取消一个任务,无其他信息
- 工具链:VS2019 + VC2015+QT5.9.3
- 解决方案:
- 重新打开vs,删除所有中间文件,重新生成即可
- 原因:
- 我的原因是电脑由于温度突然关闭,然后打开就这样了,应该是vs处于编译过程中状态异常退出,导致重新编译失败。
6 问题:QCreator 无法运行rc.exe
- 工具链:VC2015+QT5.12.1+WIN SDK 8.1
- 解决方案:
- 将8.1SDK的rc.exe和rcdll.dll拷贝到QT Bin目录下.
- 原因:我估计可能有3个
- QT工具链问题,QT无法找到正确的SDK目录,导致RC文件目录不知道,
- QT工具链的环境变量问题.
- 可能是安装顺序的问题,当时可能先装的QT导致安装时找不到VC的正确目录.
7 问题:QT添加或删除组件(需要在线)
- 工具链:QT5.12.1 + QT5.9.3
- 现象:本次尝试失败,
- 5.12.1一直没有下载到元信息,
- 5.9.3下载元信息在99%时,他报错vs2013的某个组件没找到(可能是用于支持添加新组件),然后无法添加之前未安装的组件.我只能重新安装了一下,并且速度远远赶不上我卸掉再重装的速度.渣渣.
- 解决方案:
- 使用国内镜像临时储存库,我试了中国科大和北理工的镜像,科大的镜像速度要快一些.没有试过官方和其他镜像
- 中国科技大学:http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/
- 北京理工大学:https://mirror.bit.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt
- 使用国内镜像临时储存库,我试了中国科大和北理工的镜像,科大的镜像速度要快一些.没有试过官方和其他镜像
8 问题:git push 一直要求输入用户名密码,而且要输两次
- 工具链:Windows10 + git + totorisegit
- 现象:push代码是每次都要求输入GitHub用户名和密码,而且要输入两次
- 原因:
- 可能是没有配置ssh key
- 可能是clone时,使用的https地址
- 解决方案:
- 在github上配置ssh key
- 在本地clone时 使用ssh 地址,
- 使用git指令修改远端地址 :
git remote origin set-url [url]