接触了各种项目后,发现与写算法的过去不一样了,遇到的很多报错都是用devc这种工具时没见过的,也没学编译原理这种课,一头雾水,解决后过段时间又会觉得出错的问题很弱智;为此,记录下我遇到的所有问题和解决方案,为了以后的自己再遇到相同问题时的参考,也为后人栽棵树。问题按遇到时间排序,所以前面的比较基础,后面的相对起来复杂一点。
大量报错大部分情况是未包含库目录
右键项目 c/c++ 注意include和lib的目录
include为“包含目录” lib为“库目录”
需要把项目需要的依赖包括目录和库目录给放进去
LINK错误
大多数为项目属性内“连接器”的错误
转到连接器下 - 输入 -附加依赖库
看看有没有包含进去
X86和x64不匹配
可能是Qt的编译器选错了
或者MySQL的不匹配位 其版本在8以后64位,之前为32
QtXlsx的编译
需要源码 假设放入 E:\QtXlsxWriter
git clone https://github.com/dbzhang800/QtXlsxWriter
https://cli-msi.s3.amazonaws.com/ActivePerl-5.28.msi
运行x86 Native Tools Command Prompt for VS 2019
cd /d E:\QtXlsxWriter
E:\Qt\Qt5.12.3\5.12.3\msvc2017\bin\qmake.exe
nmake
nmake install
vs2019中使用 Qt Modules中添加xlsx
编译成功后运行报错
如图
项目若需要链接数据库 , 查看数据库有没有链接成功 ,(以MySQL为例)
查看方法 cmd > mysql -h [] -u [root] -p [password]
若进不去则是数据库未安装或失败等数据库的问题
若 软件运行一闪而过
- 可能是数据库没开
- 数据库名错误 比如代码为qfx1698 数据库为1698
生成的exe找不到:
连接器 所有选项 输出目录看看是不是与常规里的“输出”不一样
原因是生成exe的目录和vs要找的目录不一样
应用程序无法启动0x0000007b
可能是dll版本对不上,如32位的程序,include了一个64的库,编译后生成64位的dll,在运行时32与64冲突。
解决方案:vs项目属性中的include和lib库目录设置为对应的32或64位,如程序是32位的,则include进qt的目录时,保证其为32位的目录。
数据库连接不上
1.数据库所在电脑的防火墙原因
2.ip冲突
3.数据库名出错,如dbname写成tableName导致。
4.数据库服务器与客户端不在同一网段。
5.检查下名字和密码前后有没有顺手多打了空格