|
2Qter豆
本帖最后由 zhounan354 于 2019-1-14 14:32 编辑
qt静态库版本是5.7.1,开发初期的空窗口程序可在xp下正常启动。随着开发进展,发现无法在xp下运行,运行是报错如图:
网上查找解决方案,清一色是添加下列代码:
#ifndef PSAPI_VERSION
#define PSAPI_VERSION 1
#endif
#include "Psapi.h"
#pragma comment(lib,"Psapi.lib")
但该方法试验了还是无效,甚至在include psapi.h时大量报错,编译不过。
究其原因,是微软在xp系统后,把psapi.dll中的部分方法,转移到了kernel32.dll中,然而xp中的kernel32.dll里却没有这些方法,所以一运行就报错。
无奈在网上一直找不到xp版本的psapi.h和psapi.lib。
因此来此求助,不知道我想的解决方案是否可行,有没有大神遇到过此类问题。总共就3豆,税后只付得起2豆了。
也有人给出的解决方案是使用Qt5.5版本,不知道可不可行,姑且先一试,以此杀杀等大神的时间。
谢谢各位关注,我查到问题的引起者了。工程中引用了oracle12的occi库,是这个库不支持xp,只要编译是带上了这个库的头文件,就会有问题。我也会继续去尝试连接到xp版本的PSAPI,如果有结果,再来回,没结果可能就是我阵亡了 |
再次补充,虽然已经跟QT无关了,但提出了问题就解决完。Oracle12的库,是不支持XP的,选用Oracle11的库,可以了,经测xp下运行,把所有该加的MSCV等库添加完,运行还是会报错,看系统日志得知,xp缺少VS2005的运行环境,也就是说官方提供的oracle库是在2005下编译的,在xp上安装VS2005运行环境,ok解决问题。oracle的库取oracle库下找,建议用11.0.2.0版本的,vs2005运行库网上可下载,不大。
|
最佳答案
查看完整内容
用 5.7.0 吧,这个版本对 XP 支持最好。
另外你说的 lib 库的问题,可以到 Windows SDK 目录去找,7.1A 就是支持 XP 的静态库目录:
|