linux装windows报错,Linux_Wine安装Windows软件的错误以及处理,    1、安装rtx软件 - phpStudy...

Wine安装Windows软件的错误以及处理

1、安装rtx软件

1)安装时,后台会报一些错误:如找不到mfc42u.dll之类的,可以从windows/system32目录拷贝到wine的相应目录。

2)如果是自动构建的wine,则有可能出现 libxml2 support was not present at compile time 的问题,这时需要安装 libxml2-dev 包。

2、安装一些带输入检测的软件如招商证券,会出现包含类似 X11DRV_SetDIBits+0x1f2() in winex11 的错误,这时需要打补丁。打补丁的方法是:

1)下载wine源代码

2)按照以下内容修改文件 wine/dlls/winex11.drv/dib.c b/dlls/winex11.drv/dib.c:

Skipped content of type multipart/alternative-------------- next part --------------

diff --git a/dlls/winex11.drv/dib.c b/dlls/winex11.drv/dib.c

index cec2058..809897e 100644

--- a/dlls/winex11.drv/dib.c

+++ b/dlls/winex11.drv/dib.c

@@ -3861,6 +3861,7 @@ INT X11DRV_SetDIBits( X11DRV_PDEVICE *ph

X11DRV_DIB_IMAGEBITS_DESCR descr;

BITMAP bitmap;

LONG width, height, tmpheight;

+ int nrsrcbytes, dibpitch;

INT result;

descr.physDev = physDev;

@@ -3880,6 +3881,16 @@ INT X11DRV_SetDIBits( X11DRV_PDEVICE *ph

if (startscan + lines > height) lines = height - startscan;

+ /* pointer check */

+ dibpitch = ((width * descr.infoBpp + 31) &~31) / 8;

+ if( descr.compression)

+ nrsrcbytes = 1;

+ else {

+ nrsrcbytes = lines * dibpitch;

+ if( nrsrcbytes < 0) nrsrcbytes = - nrsrcbytes;

+ }

+ if( IsBadReadPtr( bits, nrsrcbytes)) return 0;

+

switch (descr.infoBpp)

{

case 1:

@@ -3926,7 +3937,7 @@ INT X11DRV_SetDIBits( X11DRV_PDEVICE *ph

descr.width = bitmap.bmWidth;

descr.height = lines;

descr.useShm = FALSE;

- descr.dibpitch = ((descr.infoWidth * descr.infoBpp + 31) &~31) / 8;

+ descr.dibpitch = dibpitch;

X11DRV_DIB_Lock( physBitmap, DIB_Status_GdiMod, FALSE );

result = X11DRV_DIB_SetImageBits( &descr );

X11DRV_DIB_Unlock( physBitmap, TRUE );

左边有-号的,删除这一行,左边有+号的,添加这一行。

修改后编译,如果使用debian系统,则可以用以下命令编译:

cd wine

sudo debian/rules clean

sudo debian/rules build

sudo debian/rules binary

3、出现断言失败错误:

text.c: usr32 pellip->under == 0 && pellip->after == 0

时,有可能是乱码导致,配置wine支持中文即可。

本文作者:相关阅读:

MySQL数据库十大优化技巧

js动态加载以及确定加载完成的代码

VBS 下载方法(CDO.MESSAGE)

简单采集了yahoo的一些数据

php.ini中date.timezone设置分析

WIN2003服务器常用安全策略

在Vista系统中 Windows 主进程 (Rundll32) 已停止工作的解决方法

标记语言——精简标签

Brian Peasland:充分认识和利用Oracle11g

JS input文本框禁用右键和复制粘贴功能的代码

asp.net自定义控件代码学习笔记

局域网Windows 7系统与XP系统无障碍互访

jQuery.extend 函数详解

单纯使用CSS实现动态提示信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值