吐血奉献Linux下的Proc编译诀窍

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

首先,本人的系统是Redhat Linux9.0+Oracle9i R2,如果有出入,请自己核对,本人概不负责,不过可以一起讨论:fzbook@vip.sina.com。

Oracle9i R2提供了一个非常完美联编的make工具,本人也是新手上路,一番琢磨,解决问题,怦然心动,不将他放在网上总觉得遗憾,所以马上书写一份文档,共网友讨论。

为了安全,请建立你自己的开发目录。我是建立了一个oracle用户的目录/develop目录,在下面建立了一个proc子目录。步聚如下:

1) 以oracle用户登录系统。

2) cp $ORACLE_HOME/precomp/demo/proc/demo_proc32.mk /develop/proc/

3) cd /develop/proc/,修改demo_proc32.mk,如下操作:

a) 定位到189行,应该是句这样的话:

PROCPPFLAGS=code=cpp $(CPLUS_SYS_INCLUDE)

改为:

PROCPPFLAGS=code=cpp $(CPLUS_SYS_INCLUDE) CPP_SUFFIX=cc

4) 编辑$ORACLE_HOME /precomp/lib目录下面的env_precomp.mk文件,修改该文件之前请务必保存一个备份,以防不测。

a) 定位1555行,将LIBDIR32=lib32改为LIBDIR32=lib

b) 定位1561行,将C2O_32=$(CC) $(CFLAGS32) -c $*.cc改为C2O_32=$(CC) $(CFLAGS32) -c *.cc

c) 定位1562行,将C++2O_EXE_32=$(CPLUSPLUS) $(LFLAGS32) -c $(INCLUDE) $(EXE).cc 改为C++2O_EXE_32=$(CPLUSPLUS) $(LFLAGS32) -c $(INCLUDE) *.cc

d) 定位1563行,将C++2O_32=$(CPLUSPLUS) $(LFLAGS32) -c $(INCLUDE) $*.cc改为C++2O_32=$(CPLUSPLUS) $(LFLAGS32) -c $(INCLUDE) *.cc

5) 将你要编译的原码放在/develop/proc下面,执行如下命令:

make –f demo_proc.mk OBJS=”Db.o test.o” EXE=Db cppbuild

注意:在我的/develop/proc下面有Db.pc,Db.h,test.cc三个源码。你可以跟该的仅仅是OBJS里面的信息,什么样子的cc文件,就有什么样的o文件。

在执行这个命令之前,请务必确保你的o文件,lis文件以及pc的c/cc文件已经被删除。

6) 我上面的所有操作都是针对C++格式以及

7) 源文件为cc的文件。

如果你有什么样的建议,请告诉我fzbook@vip.sina.com,为中华民族的IT而奋斗终身。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航