专栏首页张志敏的技术专栏从源代码编译安装 MonoDevelop 记录

从源代码编译安装 MonoDevelop 记录

从源代码编译安装 MonoDevelop 记录

Xamarin 官方源里面的 MonoDevelop 版本是 5.10 ,与官方发布的 Xamarin Studio 6.1 相比, 很多新特性不支持, 主要包括:

  • 对 C# 6 语法支持的不够完善;
  • 不支持 NUnit 3;
  • 不支持 roslyn 编译器;

搜遍了官方的源, 包括 alpha 、 nightly 、 ci 通道, 都找不到编译好的 MonoDevelop 包, 在 launchpad 上也找不到第三方的 ppa 源, 看来只能自己动手编译 MonoDevelop 了。

如果还没有安装 Mono , 则需要添加 Xamarin 的 apt 源, 代码如下:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update

Xamarin 官方源提供的 Mono 已经很新了, 而且更新也很及时, 没必要从源代码编译。

添加必须的编译工具以及本地类库

sudo apt install git-core autoconf automake cmake  libtool libssh2-1-dev zlib1g-dev

安装 Mono 以及编译 MonoDevelop 的需要用到的依赖项

sudo apt install mono-devel referenceassemblies-pcl fsharp gnome-sharp2 libglade2.0-cil-dev monodoc-base

克隆 MonoDevelop 的源代码 这一步可能需要很长的时间, 小水管的要沉得住气才行。

git clone -b cycle8-GM https://github.com/mono/monodevelop.git monodevelop
git submodule update --init --recursive

建议不要直接克隆 master 分支, 而是克隆 release 标签下已经归档的分支, 因为 master 分支上的可能会编译出错。

配置下载好的源代码, 准备编译

./configure --profile=stable

这一步可能会弹出缺少什么的错误, 不过没关系, 通过 apt search 命令可以找到, 然后执行 apt install 安装就行了。

配置成功的截图如下:

看到类似这样的截图之后, 就可以继续了, 否则还得继续检查需要的库。 然后编译运行, 首次运行需要下载很多 nuget 包, 同样需要很长时间。

make run

如果网络不好的话, make 可能会出错, 重试几次。

编译成功之后, 运行截图如下:

试运行几次, 没有错误就可以直接安装了。

sudo make install

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 安装 Docker 环境

    Docker 是一个开源的应用容器引擎, 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中, 然后发布到任何流行的 Linux 机器上, 也可以实现虚拟...

    beginor
  • 调用新浪微博显示用户信息

    最近需要在开发的安卓项目中添加新浪微博一件关注的功能, 本来是一个很简单的功能, 就是调用新浪微博客户端显示用户信息的 Activity , 然后用户就点击关注...

    beginor
  • 扁平化设计原则

    扁平化设计 —— 设计社区不得不谈论的话题, 这种趋势的感觉是强烈的, 大多数设计师不能顺应这种趋势, 甚至讨厌这种趋势。

    beginor
  • Java中的即时编译(Just-in-time compilation)

    作者:知秋 原文:http://t.cn/RYLPEMc 像其他一些编程语言一样,Java通常也被称为“编译语言”。但有时你可能会感到困惑,尤其是当有人告诉你J...

    程序猿DD
  • 【C语言笔记】windows命令行下编译C程序

    有关注我的朋友可能会知道我的C开发环境是:Notepad++与MinGW相结合,即用Notepad++写代码,用MinGW这个工具包中的gcc编译器进行编译。如...

    正念君
  • LLVM+Clang+Libcxx+Libcxxabi(3.6)工具链编译(完成自举编译)

    LLVM和Clang工具链的生成配置文件写得比较搓,所以略微麻烦,另外这个脚本没有经过多环境测试,不保证在其他Linux发行版里正常使用。

    owent
  • 【翻译】旧技术成就新勒索软件,Petya添加蠕虫特性

    原文链接:https://blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-tech...

    用户1631416
  • 如何给Docker hub用户上传头像

    我第一次使用Docker hub时,觉得很奇怪,这个网站上面没有允许用户上传头像的地方。

    Jerry Wang
  • SAP CRM CUSTOMER_H扩展字段的设计原理

    If we add new extension field to include structure INCL_EEW_CUSTOMER_H via AET o...

    Jerry Wang
  • 物体计数--Learning To Count Objects in Images

    Learning To Count Objects in Images NIPS 2010 http://www.robots.ox.ac.uk/~v...

    用户1148525

扫码关注云+社区

领取腾讯云代金券