Linux使用Wine 安装source insight

http://blog.chinaunix.net/space.php?uid=20587912&do=blog&id=405022

 

windows 的Souce Insight 是非常经典的C编译器,无论是应用程序开发和编译都是相当不错,Linux 有Kcodes,但功能不如Source 
Insight.有一种解决方案的是在LINUX安装Wine, 然后安装Source Insight.


Wine编译安装


Wine 下载路径:


在linux中先解压: tar -xjfwine-1.0.1.tar.bz2
转到wine-1.0.1目录下:cd wine-1.0.1
运行configure:./configure
然后是运行: make & make install
安装wine结束

编译时提示





gcc -c -I. -I. -Ihttp://www.cnblogs.com/include -Ihttp://www.cnblogs.com/include 
-I/usr/local/include/freetype2 -I/usr/local/include  -D__WINESRC__ -D_GDI32_ 
-D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing 
-Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith  -g -O2  -o 
freetype.o freetype.c
freetype.c:166: error: 'FT_MulFix' undeclared here (not 
in a function)
freetype.c:166: warning: type defaults to 'int' in declaration 
of 'pFT_MulFix'
freetype.c: In function 
'WineEngGetOutlineTextMetrics':
freetype.c:5009: error: called object 
'pFT_MulFix' is not a function
freetype.c:5010: error: called object 
'pFT_MulFix' is not a function
freetype.c:5012: error: called object 
'pFT_MulFix' is not a function

按照网络的提示解决办法。去掉对pFT_MulFix的处理。




修改freetype.c

这里的问题出现在 dlls/gdi32/freetype.c下

这里FT_MulFix在 FT_MULFIX_INLINED模式下是 指FT_MULFIX_INLINED本身

原来的2441行
LOAD_FUNCPTR(FT_MulFix)

扩充成
#ifndef 
FT_MULFIX_INLINED
LOAD_FUNCPTR(FT_MulFix)
#endif


原来166行

MAKE_FUNCPTR(FT_MulFix)

扩充成

#ifdef FT_MULFIX_INLINED
#define pFT_MulFix 
FT_MULFIX_INLINED
#else
MAKE_FUNCPTR(FT_MulFix);
#endif


修改后然后编译,安装(make & make install)

成功后,运行winecfg 会弹出一个对话框进行设置.

其中wine把  ~/.wine/driver_c 当做C盘来使用.

安装Source Insight

1.首先用Wine执行Source Insight 的安装程序.进行安装

   先将Si的安装程序拷入LINUX下.然后执行安装.

    wine Si35Setup.exe


这里桌面显示Source Insight安装界面




2.用Winecfg把常用的工作目录都虚拟成WINDOWS的盘符,如我把/home/hxy,/home/workspace 
虚拟成d:,e:




3.为了方便调用,在RHEL桌面建一个快捷方式.

建快捷方式的调用命令是.

    wine "C:\Program Files\Source Insight 
3\Insight3.exe"

4.按Source Insight 的正常方式使用即可.



另外一种快速执行方法:

  
Wine已经在系统中关联了所有的.exe文件,因此在系统中的.exe程序可以直接双击或右键菜单选Wine 
loader执行.



Wine中文支持的调整


  中文系统下.WinCfg的按钮的提示是方块,无法正常提示.Source Insight 
也无法显示中文和输入中文,都是乱码.也无法用拷贝的方式加入到当中.而同样的环境下.WINDOWS的写字板程序能正常的显示和用SCIM输入中文.

  根源在WINE使用Tahoma字体显示对话框,这个字体无法正常显示中文,补救的方法有两种,

方法1:

一种是修改注册表,用regedit编辑Wine 注册表.执行如下命令:

wine regedit

将下列项注册表目录设为空.(我是逐一删除)

\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows 
NT\CurrentVersion\FontSubstitutes

重新运行winecfg 后,对话框下面的”确定“,”取消“和”应用“正常显示.但是有一些对话框程序仍然显示乱码。


全英文环境需要用如下命令来执行

env LANG=zh_CN.UTF-8 wine XXX


方法2

2.1 从Windows拷贝Windows 默认字体,宋体字体,并将MS Shell Dlg的值设为 simsun(宋体)

首先 windows xp 的 Fonts 目录下,把 simsun.ttc (即宋体)复制到 
~/.wine/drive_c/windows/fonts 

2.2 将下列已经修改好的reg注册表文件导入系统,主要是把对话框字体换成宋体。执行

wine regedit zh.reg






2.3 source insight 此时仍无法显示中文,使用网上提供的gdi32.dll.so 补丁后,source Insight 
能部分显示GBK的中文文件内容,

方法

  mv /usr/local/lib/wine/gdi32.dll.so 
/usr/local/lib/wine/gdi32.dll.so.backup

  cp gdi32.dll.so /usr/local/lib/wine/



2.4 设置riched20.dll


打开winecfg,在libraries选项页下,添加riched20.dll和riched32.dll 
(别忘复制这两个文件到你wine的system32目录下) ~/.wine/drive_c/windows/system32


然后选edit,都设为native


这样source Insight 
的编辑区仍然无法输入汉字(可能采用非标准控件)但是标准的文件对话框输入框都能输入中文,并且能拷贝到编辑区中。也可以用WINDOWS的记事本程序书写汉字。大段拷贝过来。(但仍然有部分乱码)但好象也只能做到这一步了,本身SI对汉字的支持就不好。
That which didn't kill me makes me stronger

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值