闲话不多说了,直接进入正题。我的系统是Ubuntu 10.04,下载安装了MadEdit deb安装包,安装后,程序文件在/usr/bin/下。由于MadEdit在Ubuntu 9.10以上版本有无法打开多标签的Bug,所以我们要修改MadEdit的源代码,然后编译来解决这个Bug。

  首先,我们要安装wxWidgets 2.6.1及以上版本开发包,并且打开Unicode支持;以及Boost 1.33.0及以上版本开发包。Ubuntu上用新立得就可以了。

  然后,我们就开始编译MadEdit了。为了避免影响之前通过deb安装的MadEdit,所以我们编译安装到其他目录,然后将程序文件覆盖以前的。

引用
tar zxvf madedit-0.2.9.tar.gz
cd madedit-0.2.9
vi src/MadEdit/MadEdit.cpp
# 修改第9716行处的函数OnPaint,在最前面加入
# if(m_ClientWidth==0 || m_ClientHeight==0) return;
# 然后保存退出
./configure --prefix=/usr/local/madedit
make
make install
cd /usr/local/madedit/bin
cp ./madedit /usr/bin/


  至此,我们再运行MadEdit,打开多个标签,程序不会再强行退出了。

纯技术分类 » Linux/Unix系统 | 评论(6) | 引用(0) | 阅读(2677)
orighost Email Homepage
2011/12/19 21:16
请问如何编译呀,总是通不过,我的boost没装在系统目录下,不知道如何指定目录?
袁旭东 回复于 2011/12/21 08:51
用新立得安装boost就可以了。configure时,使用--prefix指定编译安装的目录。
yumeyao
2011/02/28 17:05
感谢~一直用madedit,在windows上从05年就开始用了,后来用linux一开始用red hat也在用。后来换成ubuntu10.04后就一直出这个问题,我自己又不熟linux下的用户层的api,就一直只能凑合着用。今天实在有多开需要又不想切换到windows,就随手google了一下,居然找到了解决方法。再次感谢。
beterhans
2011/02/24 22:02
本人不熟悉编程 能否告知最终 改出来是什么样子的?#修改第9716行处的函数OnPaint,在最前面加入# if(m_ClientWidth==0 || m_ClientHeight==0) return;我不知道是改成 if(m_ClientWidth==0 || m_ClientHeight==0) return;OnPaint 这样? 怎么看也不像阿
袁旭东 回复于 2011/02/24 22:26
是在OnPaint函数里面最开始加上。大概的样子是 function OnPaint() {if(m_ClientWidth==0 || m_ClientHeight==0) return;
fay Homepage
2010/09/23 22:41
ps 我发现我没有用那个prefix也没有做最后的copy,也可以直接打开多标签页了
袁旭东 回复于 2010/09/24 01:18
当然,没有设置prefix的话就是安装到缺省目录,也就是将以前的覆盖掉,当然也就不用copy了。
fay Homepage
2010/09/23 22:17
多谢了!!用到了!我也是ubuntu lucid,madEdit挺好用
zero-B
2010/09/05 16:07
谢谢兄弟的无私共享。

你的这篇 BLOG,我转载到我的 BLOG 上了,地址是 http://blog.chinaunix.net/u/444/showart_2319007.html

如兄弟觉得不妥,请在 BLOG 里留言告知。
袁旭东 回复于 2010/09/05 21:03
不客气。这样可以分享给更多的人。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]