linux中怎样预编译,如何在linux环境下配置pro*c程序预编译参数

如何在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文件内将以上提到的语句均写入即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值