工作日志--servicemain编译
2015-06-30 17:30
525 查看
servicemain的编译折腾了很久,写个日志记一下,以后好学习。
要编译servicemain要先编译ace,然后编译servernet
1、目录结构
bin
linux
bin.debug.Linux.i686 存放编译后的so和bin结果,编译ace后,要将libACE.so复制到这个目录,否则编译servernet时链接找不到函数
build
linux 有Makefile.XXX
obj
obj.debug.Linux.i686
libservernet
series 保存各个工程的obj文件,由于权限的问题,不能创建这个目录,会出错,可以手动创建
servermain.bin
common //这是公共的头文件
sdk
ACE-5.6.1
ACE_wrappers //这就是ace工程
openssl-1.0.0c //编译ace时需要这个
server
common
ServerNet 这就是servernet工程
include
recordersvr
servicemain //这就是要最终编译的工程
inc //.h文件
2、编译
到ace工程目录,运行./build_ace.sh PC,然后将build_pc下的lib目录下的libACE.so复制到bin***i686下
到servernet工程目录,运行make
到servicemain工程目录,运行make
3、问题
链接文件从svn传到windows再到linux,会破坏链接文件,要删除文件,再重新建立链接
发生的情况主要是inc目录下的share_men.h和share.memn.h,可以删除这两个文件运行
ln -s ../../../common/include/comminlib/share_men.h share_men.h
ln -s ../../../common/include/comminlib/share_men.h share_memn.h
总体命令是:ln -s 源文件名 符号文件名
4、编译环境的更新
8001/8002使用的gcc和g++是4.7.2版本,由于apt-get install安装的版本不统一,程序编译或者运行时可能会出问题。
可以统一使用该版本编译器。
1.tar zxvf GccG++4.7-20141104.tgz -C / (可以将tgz包传到任意目录,运行这个命令就可以)
2.切换编译器步骤,例如:
查看g++ 版本
#g++ -v
如果当前版本是4.6,则修改compile.sh, 设置OVER=4.6,并设置VER=4.7(如果原来是4.7要设置OVER=4.7)
#compile.sh readd
#g++ -v
发现g++版本已经修改为4.7
要编译servicemain要先编译ace,然后编译servernet
1、目录结构
bin
linux
bin.debug.Linux.i686 存放编译后的so和bin结果,编译ace后,要将libACE.so复制到这个目录,否则编译servernet时链接找不到函数
build
linux 有Makefile.XXX
obj
obj.debug.Linux.i686
libservernet
series 保存各个工程的obj文件,由于权限的问题,不能创建这个目录,会出错,可以手动创建
servermain.bin
common //这是公共的头文件
sdk
ACE-5.6.1
ACE_wrappers //这就是ace工程
openssl-1.0.0c //编译ace时需要这个
server
common
ServerNet 这就是servernet工程
include
recordersvr
servicemain //这就是要最终编译的工程
inc //.h文件
2、编译
到ace工程目录,运行./build_ace.sh PC,然后将build_pc下的lib目录下的libACE.so复制到bin***i686下
到servernet工程目录,运行make
到servicemain工程目录,运行make
3、问题
链接文件从svn传到windows再到linux,会破坏链接文件,要删除文件,再重新建立链接
发生的情况主要是inc目录下的share_men.h和share.memn.h,可以删除这两个文件运行
ln -s ../../../common/include/comminlib/share_men.h share_men.h
ln -s ../../../common/include/comminlib/share_men.h share_memn.h
总体命令是:ln -s 源文件名 符号文件名
4、编译环境的更新
8001/8002使用的gcc和g++是4.7.2版本,由于apt-get install安装的版本不统一,程序编译或者运行时可能会出问题。
可以统一使用该版本编译器。
1.tar zxvf GccG++4.7-20141104.tgz -C / (可以将tgz包传到任意目录,运行这个命令就可以)
2.切换编译器步骤,例如:
查看g++ 版本
#g++ -v
如果当前版本是4.6,则修改compile.sh, 设置OVER=4.6,并设置VER=4.7(如果原来是4.7要设置OVER=4.7)
#compile.sh readd
#g++ -v
发现g++版本已经修改为4.7
相关文章推荐
- "set -e" 与 "set -o pipefail"
- 关于 error: LNK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决...
- cvWaitKey源码的理解(OpenCV函数)
- WinMain函数的4个参数
- UltraISO U盘启动安装工具
- grails 冷门问题汇总
- AIX swap扩容
- aix文件系统在线扩容
- async和await异步操作
- .NET4.5之初识async与await
- AIX 减少缺省分页空间(hd6)的大小
- selenium wait
- Leetcode 182 Duplicate Emails
- raid技术-研究感受
- org.tinygroup.beancontainer-IOC、AOP框架
- Container With Most Water——LeetCode
- constraints添加工具&&其他有用博客
- 使用AIDL实现进程间的通信
- 估算Baidu和Google的网页索引数量之比
- 三种方法解决 Failed to start LSB: Bring up/down networking 问题