- 論壇徽章:
- 0
|
如下,有幫助嗎?
首先,本人的系統(tǒng)是Redhat Linux9.0+Oracle9i R2,如果有出入,請(qǐng)自己核對(duì),本人概不負(fù)責(zé),不過(guò)可以一起討論:fzbook@vip.sina.com。
Oracle9i R2提供了一個(gè)非常完美聯(lián)編的make工具,本人也是新手上路,一番琢磨,解決問(wèn)題,怦然心動(dòng),不將他放在網(wǎng)上總覺(jué)得遺憾,所以馬上書(shū)寫(xiě)一份文檔,共網(wǎng)友討論。
為了安全,請(qǐng)建立你自己的開(kāi)發(fā)目錄。我是建立了一個(gè)oracle用戶(hù)的目錄/develop目錄,在下面建立了一個(gè)proc子目錄。步聚如下:
1) 以oracle用戶(hù)登錄系統(tǒng)。
2) cp $ORACLE_HOME/precomp/demo/proc/demo_proc32.mk /develop/proc/
3) cd /develop/proc/,修改demo_proc32.mk,如下操作:
a) 定位到189行,應(yīng)該是句這樣的話:
PROCPPFLAGS=code=cpp $(CPLUS_SYS_INCLUDE)
改為:
PROCPPFLAGS=code=cpp $(CPLUS_SYS_INCLUDE) CPP_SUFFIX=cc
4) 編輯$ORACLE_HOME /precomp/lib目錄下面的env_precomp.mk文件,修改該文件之前請(qǐng)務(wù)必保存一個(gè)備份,以防不測(cè)。
a) 定位1555行,將LIBDIR32=lib32改為L(zhǎng)IBDIR32=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下面,執(zhí)行如下命令:
make –f demo_proc.mk OBJS=”Db.o test.o” EXE=Db cppbuild
注意:在我的/develop/proc下面有Db.pc,Db.h,test.cc三個(gè)源碼。你可以跟該的僅僅是OBJS里面的信息,什么樣子的cc文件,就有什么樣的o文件。
在執(zhí)行這個(gè)命令之前,請(qǐng)務(wù)必確保你的o文件,lis文件以及pc的c/cc文件已經(jīng)被刪除。
6) 我上面的所有操作都是針對(duì)C++格式以及
7) 源文件為cc的文件。
如果你有什么樣的建議,請(qǐng)告訴我fzbook@vip.sina.com,為中華民族的IT而奮斗終身。
http://www.wangchao.net.cn/bbsdetail_1415019.html |
|