如何在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文档内将以上提到的语句均写入即可。
阅读(1063) | 评论(0) | 转发(0) |