ace安装

编程技术  /  houtizong 发布于 3年前   115
转载http://www.cppblog.com/true/archive/2007/07/15/28065.html
redhat5.4测试可用

/root/haoning/ace/ACE_wrappers/examples/C++NPv1
下可以make

export ACE_ROOT=/root/haoning/ace/ACE_wrappersexport LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:/usr/local/lib:$LD_LIBRARY_PATHtar –zxvf ACE.tar.gz ACE_wrappers/ACE-install.shmv ACE_wrappers/ACE-install.sh .mkdir /root/ACEcp ACE-5.4.1.tar.gz /root/ACEvi ACE-install.sh 我们可以看到缺省的,这个文件是用来在UNIX下做安装的。所以我们要将其中的有关UNIX的部分换成linux即可。“MY_ACEDIR=${HOME}/aceconfig” -->> “MY_ACEDIR=/home/my/ACE”“MY_ACE_CONFIG=config-sunos5.4-sunc++-4.x.h” -->> “MY_ACE_CONFIG=config-linux.h”“MY_ACE_GNU_MACROS=platform_sunos5_sunc++.GNU” -->> “MY_ACE_GNU_MACROS=platform_linux.GNU”好了,文件修改完毕,保存退出“:wq”。chmod 777 ACE-install.sh ./ACE-install.sh 测试/root/haoning/ace/ACE_wrappers/examples/C++NPv1make如果不报错就成功了并生成/root/haoning/ace/ACE_wrappers/examples/C++NPv1/.obj目录



ACE在Linux环境下的编译安装                [Author by Jet Yan in April 4,2005]第一步 设置ACE_ROOT环境变量(1)export ACE_ROOT=/home/jet/ACE_wrappersexport LD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATH(2)或者直接在用户目录下编辑.bashrc文件,内容如下:ACE_ROOT=/home/jet/ACE_wrappersexport ACE_ROOTLD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATHexport LD_LIBRARY_PATH然后重新登陆(3)另一种方法是修改系统的/etc/profile文件(不过这样还是以用户变量为优先设置,即如果已经按照上面的两种方法进行了设置,那么以下的设置将不会被系统采用。)“vi /etc/profile”在其中加入4行ACE_ROOT=/opt/ACEexport ACE_ROOTLD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATHexport LD_LIBRARY_PATH我是加在“export PATH USER….”后的。完成后将/etc/profile执行一次,命令:“chmod 555 /etc/profile”“/etc/profile”这样我们的ACE_ROOT就设置好了,可以用如下命令查看ACE_ROOT是否设置好了:“echo $ACE_ROOT”这个时候最好reboot启动一次linux。-------------------------------------------------------------------第二步 解压出ACE-install.sh文件并修改(1)在/home/jet下建立子目录ACEInstall,将ACE.tar.gz上传至该目录(2)从ACE.tar.gz解压出单个文件ACE-install.sh:tar –zxvf ACE.tar.gz ACE_wrappers/ACE-install.sh(3)ACE-install.sh放在哪个目录下无所谓,因为安装目录是由刚才设定的$ACE_ROOT决定的。(4)vi ACE-install.sh 我们可以看到缺省的,这个文件是用来在UNIX下做安装的。所以我们要将其中的有关UNIX的部分换成linux即可。“MY_ACEDIR=${HOME}/aceconfig” -->> “MY_ACEDIR=/home/my/ACE”“MY_ACE_CONFIG=config-sunos5.4-sunc++-4.x.h” -->> “MY_ACE_CONFIG=config-linux.h”“MY_ACE_GNU_MACROS=platform_sunos5_sunc++.GNU” -->> “MY_ACE_GNU_MACROS=platform_linux.GNU”好了,文件修改完毕,保存退出“:wq”。-------------------------------------------------------------------第三步 运行ACE-install.sh(shell脚本)安装ACE(1)当前目录/home/jet/ACEInstall/ACE_wrappers(2)修改ACE-install.sh的属性,使其可执行chmod 777 ACE-install.sh(3)执行:./ACE-install.sh此后将是较长时间的解包、编译等待时间。这个过程将不会出现任何错误,因为安装脚本将为我们做很多事情,如:生成config.h,生成platform_macros.GNU。(即使出现删除文件的错误,对结果应该没有影响,遇到这种情况要具体分析一下。)因此就不需要按ACE-install.html中说的那样手工做如下改动:  在$ACE_ROOT/ace目录下:  ln -s config-linux.h config.h  在$ACE_ROOT/include/makeinclude/目录下:  ln -s platform_linux.GNU platform_macros.GNU(Windows中没有文件连接这一说,所以要自己生成一个config.h文件,再在它的里面加一句话“#include "ace/config-win32.h"”。)(4)如果编译中出现错误,如“../apps/gperf”等,请编辑$ACE_ROOT/apps下的Makefile,将其中的有关“gperf”的部分注释掉,这个东西只是一个例子,可以不去编译它。强调一下,用ACE-install.sh来安装,会编译ACE、tests、apps等。最后会生成libACE.so及tests、apps下也会出来很多经过编译的文件。当然如果你只是下载了ACE.tar.gz这样的单个包来安装,你可以手工改文件,再make,因为只编译ACE,工作就少了很多,手工做还可以接受。(5)编译过程日志放在/tmp/myacemaker.err-------------------------------------------------------------------第四步 直接测试ACE提供的例子(1)在$ACE_ROOT/examples/Synch中,修改proc_sema.cpp文件如下:#include "ace/OS_NS_stdio.h"在main函数中ACE_OS::printf("Hello,World! \n");(2)执行make,OK后运行。(3)如果运行时装在不到share object,可能是lib路径问题,因为.so文件是程序运行过程中装载的,不是在编译的时候,因此要设置LD_LIBRARY_PATH:[jet@S]$ export LD_LIBRARY_PATH=/home/jet/ACE_wrappers/lib:$LD_LIBRARY_PATH-------------------------------------------------------------------第五步 写一个简单的程序测试一下ACE(1)在/home/jet/下新建ACETest子目录,写好程序如client.cpp,上传到该目录(2)拷贝第四步的那个Makefile文件到该目录,并做如下修改修改其中输出文件名“BIN = hello”,并修改“.obj/proc_sema.o .obj/proc_sema.so .shobj/proc_sema.o .shobj/proc_sema.so: proc_sema.cpp \”中后面的“proc_sema.cpp”成“client.cpp”。好,我们可以编译一个我们自己的ACE程序了,make即可。应该能通过,生成执行文件client,大小大约为112Kb。运行之,“./client”。-------------------------------------------------------------------=================================================另一种更为直接的安装方法:步骤1:设置环境变量export ACE_ROOT=/home/jet/ACE_wrappersexport LD_LIBRARY_PATH=$ACE_ROOT/ace:$LD_LIBRARY_PATH也可以直接修改.bashrc文件,以免退出后设置的这些变量消失[env][echo $ACE_ROOT]步骤2:针对不同版本创建两个文件链接:  在$ACE_ROOT/ace目录下:  ln -s config-linux.h config.h  在$ACE_ROOT/include/makeinclude/目录下:  ln -s platform_linux.GNU platform_macros.GNU步骤3:在$ACE_ROOT目录下,新建一个目录,用以执行configure的结果  mkdir aaa  cd aaa在$ACE_ROOT/aaa中运行  ../configure在确认结果无误后,执行   makeOK![rm -f -r *]删除目录下所有的文件和子目录-f是强制force删除,-r是代表目录也删除[ldd 可执行文件] 显示该文件运行时候需要的动态链接库[ipcs] 显示系统的共享内存、信号量、消息队列的情况 ipc show[ipcrm <shm| msg| sem> id]
上一篇:vim多行注释
下一篇:epoll的helloworld

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客