å¦ä½å¨linuxç¯å¢ä¸é
ç½®pro*cç¨åºé¢ç¼è¯åæ°
æä½ç³»ç»ï¼
红帽åLinux 2.4.21-4.EL
æ°æ®åºï¼oracle10g
é
ç½®æ¥éª¤ï¼
1ï¼å¨$HOMEä¸å»ºç«ä¸ä¸ªetcç®å½ï¼å¨æ¤ç®å½ä¸ç®åä¸ä¸ªé
ç½®æ件Make.definesæ件ï¼ç¼è¾è¯¥æ件ï¼åå
¥ä»¥ä¸å
容ï¼
include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
PROC=proc
GCC=gcc
BINDIR=$(HOME)/bin
#oracleçincludeç®å½
ORAIFLAG=-I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/plsql/public
#oracleçåºæ件路å¾
ORALFLAG=-L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/precomp/lib -L$(ORACLE_HOME)/rdbms/lib -L$(ORACLE_HOME)/sqlplus/lib -L$(ORACLE_HOME)/network/lib -L$(ORACLE_HOME)/plsql/lib
IFLAG=-I$(HOME)/include $(ORAIFLAG)
LFLAG=-L$(HOME)/lib $(ORALFLAG) -lclntsh
PROCFLAGS=char_map=string
.SUFFIXES: .pc .c .o
.pc.c:
$(PROC) $(PROCFLAGS) iname=$*
rm *.lis
.pc.o:
$(PROC) $(PROCFLAGS) iname=$*
rm *.lis
$(GCC) $(IFLAG) -c $*.c
.c.o:
$(GCC) $(IFLAG) -c $*.c
2ï¼ç¡®ä¿.bash_profileæ件ä¸æå¦ä¸ç¯å¢åéé
ç½®ï¼
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
3ï¼å¨èªå·±çmakefileæ件ä¸ç¬¬ä¸è¡åå
¥å¦ä¸è¯å¥ï¼
include $(HOME)/etc/Make.defines
å
¶ä»çmakefile书åæ¹å¼ä¸åã
ä¾åï¼
ææä¸ä¸ªæºç¨åºtest.pcï¼æçmakefileæ件å
容å¦ä¸ï¼
include $(HOME)/etc/Make.defines
all:test
test:test.o
$(GCC) $? -o $@ $(LFLAG)
rm ./tp* ./*.c ./*.o
ç¼è¯æ¶æ§è¡ï¼make test
产çtestå¯æ§è¡ç¨åºã
ä½è
注ï¼ä»¥ä¸é
ç½®æ¹æ³è·ä½è
ççç¨åºç»ç»ä¹ æ¯æå
³ï¼ä¸è¬å°éç¨çç¼è¯åæ°æ¾å¨ä¸ä¸ªæ件ä¸ï¼å
·ä½çmakefileæ件åå°è¿ä¸ªå®ä¹å
å«è¿å»ï¼ãæ»ä¹å¨makefileæ件å
å°ä»¥ä¸æå°çè¯å¥ååå
¥å³å¯ã
温馨提示:答案为网友推荐,仅供参考