Windows下的问题
前提为使用vistual studio进行开发
1.Qt4转Qt5编译问题
1.1碰到各种不是XX中的成员函数
可能是qt4的某个成员函数在qt5中被弃用了
如:
toAcsill()
方法1:
通过f2
进到这个文件中,找到该成员函数, 可能会有注释,表明成员函数被弃用,然后换成那个函数即可
方法2:
上google
或bing
,别问为什么不是百度(懂得都懂),搜索一下这个成员函数,然后看看能替换为哪个。
2.Qt编译不通过
2.1出现意外的文件尾
写完代码有某个地方的;
号没加,或者#ifndef
没加#endif
,反正是有一个地方没结尾,检查代码
2.2lnkll04无法打开X:\X\X.lib
链接库的问题,如果是vs在项目属性中找到链接器,找到输入,更改附加依赖项(找到需要的依赖项添加进去即可)
2.3.lnk2038检测到“_MSC_VER”的不匹配项:值“1600”不匹配值“1800”
方法1
换成旧版本编译器
方法2
重新编译导入库的静态链接,然后在重新编译
2.4warning C4273:XX:XX:dll链接不一致
查看导出dll的宏定义(具体解决办法看宏定义文件,要么google搜索)
一般在构建dll时候通过构建命令(/D)中指定一个宏,让函数声明使用dllexport而不是dllimport,但是未定义宏的时候生成,它会生成为dllimport的函数
我的问题为不需要导出dLL文件,所以把类名的宏定义去掉就好了
2.5error Lnk2019:无法解析的外部符号
方法1
有声明的函数没有进行实现
方法2
如果是生成一个dll,那查看当前错误的类,添加构建d1l的宏命令
Linux下的问题
1.编译不通过
1.1如果出现无法找到libstdc++.so.6
文件
创建项目完成后,在QtCreator左边项目
一栏中将shadow build
先取消选择.