在Ubuntu上编译mono-2.6(或更高版本)
本文关键字:高版本 版本 Ubuntu 编译 mono-2 | 更新日期: 2023-09-27 18:02:57
我不得不从源代码构建mono,因为来自badgerports的Ubuntu包已经过时了(不支持。net 4.0)
这是我目前所做的(主要是遵循这里的说明):
- 克隆单git库
- 切换到分支标记2.6 (git checkout mono-2-6)
- 在我的机器上安装了最小单声道,所以机器上可以使用单声道和mcs
- run ./autogen.sh——prefix=/usr/local
- 运行make
几个模块编译正确后,我得到这个错误:
make[4]: Entering directory `/home/oompah/work/dev/mono/mono/mini'
CC mini.lo
CC liveness.lo
liveness.c: In function ‘mono_liveness_handle_exception_clauses’:
liveness.c:137: error: ‘MonoCompile’ has no member named ‘header’
make[4]: *** [liveness.lo] Error 1
make[4]: Leaving directory `/home/oompah/work/dev/mono/mono/mini'
make[3]: *** [all] Error 2
我已经查看了违规代码,确实有一个头成员正在被访问…
void
mono_liveness_handle_exception_clauses (MonoCompile *cfg)
{
MonoBasicBlock *bb;
GSList *visited = NULL;
MonoMethodHeader *header = cfg->header;
...
}
有人在Ubuntu上构建mono-2.6(或更高版本)吗?
我已经使用integratedwebsystems提供的脚本成功地在我的系统上编译了一个最新版本的mono,并运行了。net 4.0应用程序。
脚本的改进版本可以在firegrass的github帐户中找到
Joe Shields正在打包Mono 2.10,并将所有内容默认为Ubuntu的。net 4.0,你可能想在twitter上戳他一下@directhex。