mac osx wine 1.7.5 源码编译方法及中文乱码的解决
源碼編譯
1、先安裝apple-gcc42,Mac osx自帶的 llvm-gcc,編譯后,無法運行wine。
| 1 | sudo port install apple-gcc42 |
2、下載wine源碼
| 12 | git clone git://source.winehq.org/git/wine.git ~/wine-gitcd ~/wine-git |
3、安裝 X11/XQuartz ,官網下載?XQuartz
4、我是用的是1.7.5編譯的
| 1 | git checkout -b?1.7.5 wine-1.7.5 |
5、切換編譯工具為 apple-gcc42
| 12 | sudo port select gcc apple-gcc42hash gcc |
如果想恢復蘋果默認的llvm-gcc:
| 12 | sudo port select gcc nonehash gcc |
6、編譯源碼
| 12 | ./configure --verbose --x-includes=/usr/X11/include --x-libraries=/usr/X11/libmake |
7、安裝
| 1234 | make install# 卸載make uninstall |
中文亂碼解決
1、參考下面的文章:
http://linfan.info/blog/2012/03/01/wine-mac/
字體最好是用 SimSun.ttc,宋體,可以從windows 中提取。
2、通過以上注冊表中的方式,仍然會存在亂碼,是字符集的問題,可以參考下面文章:
http://forum.ubuntu.org.cn/viewtopic.php?t=291611&p=2719632
dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c 源碼中添加一句,最新源碼中的位置有所變化,如下:
| 1234567891011 | diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.cindex fb4f2af..5bc1393?100644--- a/dlls/gdi32/freetype.c+++ b/dlls/gdi32/freetype.c@@ -5073,6 +5073,7 @@?static HFONT freetype_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags )?????GetObjectW( hfont, sizeof(lf), &lf );?????lf.lfWidth = abs(lf.lfWidth);+??? lf.lfCharSet = GetTextCharset(dc);?????can_use_bitmap = GetDeviceCaps(dev->hdc, TEXTCAPS) & TC_RA_ABLE; |
通過以上努力,基本可以解決亂碼問題,當仍會有部分字體亂碼,主要原因是相關程序的字體,無法找到,如果知道程序使用的字體,可以通過 #1 中提到的注冊表的方式,添加。
歡迎轉載:http://www.yinqisen.cn/blog-293.html
轉載于:https://blog.51cto.com/11932981/1855702
總結
以上是生活随笔為你收集整理的mac osx wine 1.7.5 源码编译方法及中文乱码的解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux cache and buff
- 下一篇: jQuery EasyUI API 中文