我总结的RedHat8.0 + Oracle9.0.2 + Proc(Pro*c)的环境设定以及Makefile的编写! 希望对大家有帮助!

时间:2022-06-23 09:17:42
我刚接触Pro*c开发,环境如标题所述,可是配置了很长时间,也得到了很多朋友的帮助,现在终于能编译运行一个非常简单的例子啦. 为了给以后的初学者一点帮助,我抛砖引金银玉:),总结如下有关proc的内容:
首先非常感谢帮助过我解决这个问题的所有网友,特别是网友milesMeng,不厌其烦的给我回信,谢谢,谢谢大家!
-----------
1./opt/oracle/product/9.2.0/precomp/admin/pcscfg.cfg的内容如下:sys_include=(/usr/include,/usr/lib/gcc-lib/i386-redhat-linux7/2.96/include)
include=/opt/oracle/product/9.2.0/precomp/public
include=/opt/oracle/product/9.2.0/precomp/hdrs
include=/opt/oracle/product/9.2.0/tpcc2x_2/src
include=/opt/oracle/product/9.2.0/precomp/include
include=/opt/oracle/product/9.2.0/oracore/include
include=/opt/oracle/product/9.2.0/oracore/public
include=/opt/oracle/product/9.2.0/rdbms/include
include=/opt/oracle/product/9.2.0/rdbms/public
include=/opt/oracle/product/9.2.0/rdbms/demo
include=/opt/oracle/product/9.2.0/nlsrtl/include
include=/opt/oracle/product/9.2.0/nlsrtl/public
include=/opt/oracle/product/9.2.0/network_src/include
include=/opt/oracle/product/9.2.0/network_src/public
include=/opt/oracle/product/9.2.0/network/include
include=/opt/oracle/product/9.2.0/network/public
include=/opt/oracle/product/9.2.0/plsql/public
include=/opt/oracle/product/9.2.0/otrace/public
ltype=short
具体的路径要根据你自己的路径做修改
-------------
2.我将oracle的一些环境变量增加到了/etc/profile中,这样的话,root编译的时候就不会报错说无法连接一些库,增加内容如下:#xb add for oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
修改后需要运行source /etc/profile
--------------
3.网友milesMeng让我升级的一些软件包:,我的linux8.0是完全安装的,发现大部分的版本一样,只是部分软件包我又做了升级,具体那个也记不住了,大家自己查吧:)
compat-db-4.0.14-5.i386.rpm 
compat-gcc-7.3-2.96.122.i386.rpm  
compat-gcc-c++-7.3-2.96.122.i386.rpm  
compat-libstdc++-7.3-2.96.122.i386.rpm  
compat-libstdc++-devel-7.3-2.96.122.i386.rpm  
openmotif21-2.1.30-8.i386.rpm 
setarch-1.3-1.i386.rpm 
tcl-8.3.5-92.i386.rpm

4.编译程序用到的Makefile
INCLDIR= -I. -I/opt/oracle/product/9.2.0/precomp/public -I/opt/oracle/product/9.2.0/rdbms/public -I/opt/oracle/product/9.2.0/rdbms/demo -I/opt/oracle/product/9.2.0/plsql/public -I/opt/oracle/product/9.2.0/network/public

DFLAGS= -DPRECOMP -DLINUX -D_GNU_SOURCE -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS

CFLAGS= -O3

LIBPATH= -L/opt/oracle/product/9.2.0/lib/

LIBS=-lclntsh `cat /opt/oracle/product/9.2.0/lib/sysliblist` -ldl -lm

conn:conn.pc
        proc parse=no iname=conn.pc include=$(ORACLE_HOME)/precomp/public
        gcc  -o $@ $@.c -I$(ORACLE_HOME)/precomp/public -L$(ORACLE_HOME)/lib -lclntsh $(LIBPATH) $(LIBS)

clean:
        rm -f *.lis conn.c conn.o conn

--------------------
基本上就这么多问题,我做了这些修改之后,就可以make了,其中或许有一些内容并不一定准确,希望高手给批评指正

希望我的这些东西能给初学proc的朋友们一点点的帮助
:)

11 个解决方案

#1


用proc*c自己带的make文件不是更好吗?

#2


收到,哈哈,那个我改了半天,总是不行,于是才用到这个makefile,嘿嘿

#3


mark

#4


请问哪里可以找到proc*c自带的makefile?

在客户端可以通过pl/sql developer看到吗?

#5


quote:
<<收到,哈哈,那个我改了半天,总是不行,于是才用到这个makefile,嘿嘿>>

pro*C带的make文件可以make任何.pc文件,你那个make文件只能make conn.pc

#6


有没有proc的资料共享一下,看似简单,却很罗嗦

#7


to  drabit(square):
哦,原来是这样啊,我是刚开始学,也不知道以后会不会用到,那个make文件具体怎么样用,能不能给详细说一下啊,看了一些proc的书,但是不是很详细,谢谢

#8


虽然没分 但这种帮助大家学习的帖子应该支持一下

#9


没有看懂,继续学习啊!

#10


收藏

#11


mark

#1


用proc*c自己带的make文件不是更好吗?

#2


收到,哈哈,那个我改了半天,总是不行,于是才用到这个makefile,嘿嘿

#3


mark

#4


请问哪里可以找到proc*c自带的makefile?

在客户端可以通过pl/sql developer看到吗?

#5


quote:
<<收到,哈哈,那个我改了半天,总是不行,于是才用到这个makefile,嘿嘿>>

pro*C带的make文件可以make任何.pc文件,你那个make文件只能make conn.pc

#6


有没有proc的资料共享一下,看似简单,却很罗嗦

#7


to  drabit(square):
哦,原来是这样啊,我是刚开始学,也不知道以后会不会用到,那个make文件具体怎么样用,能不能给详细说一下啊,看了一些proc的书,但是不是很详细,谢谢

#8


虽然没分 但这种帮助大家学习的帖子应该支持一下

#9


没有看懂,继续学习啊!

#10


收藏

#11


mark