找回密码
 立即注册
收起左侧

Qt静态库VS2013下编译在xp下运行报错,无法启动

5
回复
862
查看
[复制链接]

尚未签到

来源: 2019-1-9 10:17:45 显示全部楼层 |阅读模式
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 的静态库目录:
回复

使用道具 举报

尚未签到

2019-1-9 10:17:46 显示全部楼层
用 5.7.0 吧,这个版本对 XP 支持最好。
另外你说的 lib 库的问题,可以到 Windows SDK 目录去找,7.1A 就是支持 XP 的静态库目录:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:477 天
连续签到:2 天
2019-1-9 18:50:57 显示全部楼层
据我两年的论坛经验来看,你这个问题应该是不会有人回答的,太耗时了,老哥还是想想其他办法吧 ~
回复

使用道具 举报

累计签到:722 天
连续签到:4 天
2019-1-10 09:31:06 显示全部楼层
可以尝试将版本换到5.7.0及以前的版本试试。。。
回复

使用道具 举报

尚未签到

2019-1-10 10:10:07 显示全部楼层
jiajia_deng 发表于 2019-1-10 10:08
用 5.7.0 吧,这个版本对 XP 支持最好。
另外你说的 lib 库的问题,可以到 Windows SDK 目录去找,7.1A 就 ...

好,我朝这个方向去试试
回复

使用道具 举报

尚未签到

2019-1-10 10:12:40 显示全部楼层
谢谢各位关注,我查到问题的引起者了。工程中引用了oracle12的occi库,是这个库不支持xp,只要编译是带上了这个库的头文件,就会有问题。我也会继续去尝试连接到xp版本的PSAPI,如果有结果,再来回,没结果可能就是我阵亡了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册