|
藍森林 http://www.lslnet.com 2006年8月18日 15:18
吐血奉獻Linux下的Proc編譯訣竅
吐血奉獻Linux下的Proc編譯訣竅
首先,本人的系統是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的文件。
8) 如果你有什麼樣的建議,請告訴我fzbook@vip.sina.com,為中華民族的IT而奮鬥終身。 |
吐血奉獻Linux下的Proc編譯訣竅
我用oracle8i+linux73,好像沒這麼麻煩,8i和9i區別很大嗎? |
吐血奉獻Linux下的Proc編譯訣竅
終於找到有幫助的文章了,我的機器是64位,AIX系統,也是9i的oracle.
我試試看. :) |
| |