MICO是CORBA标准的一个实现。开源并且被广泛使用。

首先的首先,看用户手册,在页面"http://www.mico.org/docu.html"找到一本教材"MICO: An Open Source CORBA Implementation",去Google搜一下,有PDF下载

然后,选择一个正确的下载包

打开www.mico.org,点击"download"

可以看到下图所示

这里不要去选择第一项"Complete sources...",我第一次下载的就是这个,各种编译不过

要去选第二项:"Development snapshots...",即:http://mico.org/snapshots/

进入该页面之后再选择日期最近的一个版本,目前是:mico-2014-02-13.tar.bz2

好了,下载完毕,现在就是编译安装的问题了

1、Windows7

在Windows下编译,我首先选择的是Cygwin,先./configure再make,再make install,但是总是出错,搞不清楚什么情况。具体就不说了。下面直接说编译成功的过程。

通过查看"MICO: An Open Source CORBA Implementation",里面提到可以用Microsoft Visual-C++来编译,并且MICO提供了Windows版本的Makefile,叫Makefile.win32

我想也是,在Windows平台下,不用Microsoft自家的编译器又是何必呢,于是安装VS2013,然后百度了一下,原来VC版本的make叫做nmake

于是:打开开始菜单>选择Visual Studio 2013>Visual Studio Tools>VS2013 开发人员命令提示

cd D:\CORBA\mico-2014-02-13 // mico-2014-02-13文件夹就是压缩包解压后的文件夹,里面有Makefile以及Makefile.win32

nmake /f Makefile.win32 // /f 类似unix下的-f参数,指定文件

成功编译!

现在D:\CORBA\mico-2014-02-13中多了一个文件夹是win32-bin,里面有MICO在Windows平台下的exe文件以及一个lib文件夹,里面是MICO的.lib文件

头文件在D:\CORBA\mico-2014-02-13\include中

2、Ubuntu

在linux或者unix下,一般流程都是先./configure再make,再make install,根据MICO的文档,MICO也不例外,直接解压然后按这个流程来就是了

需要注意的是,如果你在make install的时候报错提示你permission denied,原因很简单,make install要拷贝MICO的头文件、可执行文件、库文件到/usr中,而/usr是受保护的目录,你需要提供管理员权限才能对这个目录中的内容进行修改,因此,使用sudo make install然后再输入你的管理员密码即可

默认的可执行文件安装路径是/usr/local/bin,比如mico-ar, mico-cpp, mico-ld等等都在这个目录下

默认的库文件安装路径是/usr/local/lib,比如libmico2.3.13.a, libmico2.3.13.so

默认的头文件安装路径是/usr/local/include,比如CORBA.h,mico/basic.h

如果你需要改变安装路径,查看INSTALL.txt,可以知道使用./configure --prefix=<Install path>即可,例如你的用户名是admin,你想安装到Documents/micoinstall这个目录下,你就用./configure --prefix=/home/admin/Documents/micoinstall即可

建议不要使用--prefix,免得你还得去修改环境变量来找到MICO的可执行文件、头文件、库文件

另外,如果在编译安装过程中遇到了Permission denied报错,比如make install的时候报Permission denied,那么就加上sudo,用sudo make install再输入密码即可。

在Windows7和Ubuntu上编译安装MICO的更多相关文章

  1. .NET跨平台:在Linux Ubuntu上编译coreclr/corefx/dnx(20150617)

    编译时间:北京2015年6月17日上午 操作系统:Ubuntu 14.04.2 LTS Mono版本:Mono JIT compiler version 4.3.0 (master/3445ac5 T ...

  2. 在ubuntu上编译chrome

    在ubuntu上编译chrome 在ubuntu上编译chrome 红心地瓜 1.获取代码 1)下载tarball,http://chromium-browser-source.commondatas ...

  3. 使用Ubuntu系统编译安装Zabbix企业级监控系统

    使用Ubuntu系统编译安装Zabbix企业级监控系统   作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblogs.com/ ...

  4. Ubuntu下编译安装postgreSQL 10.5

    Ubuntu下编译安装postgreSQL 10.5 ubuntu 16.04 LTS系统postgreSQL 10.5 安装包准备 1.从PostgreSQL官网下载PostgreSQL的安装包 安 ...

  5. 在Ubuntu下编译安装GreatSQL

    在Ubuntu下编译安装GreatSQL 本次介绍如何利用Docker构建Ubuntu环境,并将GreatSQL源码编译成二进制文件. 1.准备工作 先创建本次Docker的workdir为 /dat ...

  6. Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记

    Ubuntu 14 编译安装 PHP 5.4.45 + Nginx  1.8.0/1.4.7 + MySQL 5.6.26 笔记,主要是给自己的PC机安装,非生产环境! 一.下载必要的源码 1.1.下 ...

  7. Ubuntu 12 编译安装 PHP 5.4 及 问题汇总

    参考先前的文章:Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 安装过程: ############################ ...

  8. Ubuntu上如何安装Java,Eclipse,Pydev,Python(自带,不用装),BeautifulSoup

    如何安装Java,如果出于编程的需要安装Java,需要安装的是JDK,而不仅仅是JRE,下面说说如何在Ubuntu下如何安装JDK:只有两步,1.下载并解压,2.配置环境变量1.下载并解压:下载地址: ...

  9. 【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法

    [转]Ubuntu 上编译Android出现cannot find -lstdc++解决办法 在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的li ...

随机推荐

  1. Delphi控件开发浅入深出(三)

    三.开关控件TlincoSwitch 用过Delphi1(好古老的东东呀!)的人相信都记得这个开关控件 ,不知道当初Borland为什么把这么一个在开发普通应用程序中应用不到的工控控件放到Delphi ...

  2. xss测试用例小结

    <script>alert("跨站")</script> (最常用) <img scr=javascript:alert("跨站" ...

  3. WINXP上安装及使用SqlMap之方法

    1.首先下载SqlMap 点击下载.2.其次下载用于Windows系统的Python ……点击这里…… 3.然后安装Python:Python默认安装的路径是“C:\Python”(你也可以修改安装路 ...

  4. shader cycles静态分析

    mali Mali Offline Compiler https://developer.arm.com/products/software-development-tools/graphics-de ...

  5. 解决 KendoUI TabStrip 高度 100% 问题

    摘自: http://www.kendoui.com/forums/kendo-ui-web/tabstrip/forcing-tabstrip-to-take-up-100-of-it-s-pare ...

  6. Java中的SPI(Service Provider Interface)

    转自:http://singleant.iteye.com/blog/1497259 最近看到公司的一些框架和之前看到的开源的一些框架的一些服务发现和接入都采用了java的spi机制. 所以简单的总结 ...

  7. .NET-DataColumn.DataType 属性

    public DataTable MakeDataTable(){ DataTable myTable; DataRow myNewRow; // Create a new DataTable. my ...

  8. [转]Git branching and tagging best practices

    Git branching and tagging best practices I am currently learning to use Git by reading Pro Git. Righ ...

  9. Mach-O文件格式和程序从载入到运行过程

    > 之前深入了解过.过去了一年多的时间.如今花些时间好好总结下,毕竟好记性不如烂笔头. 其次另一个目的,对于mach-o文件结构.关于动态载入信息那个数据区中,命令含义没有深刻掰扯清除,希望有同 ...

  10. 如何让你的webapp也能跳窗口搜索

    目前很多手机app或者一些webapp,搜索栏基本采用跳窗口的搜索方式 怎么做 实现方式: 1.在触发外层的input的时候打开个modal层,默认打开该modal层的时候就触发了moda里面的inp ...