快速业务通道

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

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-06
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
Empire CMS,phome.net

 
  3、出现断言失败错误:
 
  text.c: usr32 pellip->under == 0 && pellip->after == 0
 
  时,有可能是乱码导致,配置wine支持中文即可.
 
Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多
你可能对下面的文章感兴趣
上一篇: linux环境变量设置错误后,如何恢复下一篇: 从零开始学LINUX

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号