免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2826 | 回复: 4
打印 上一主题 下一主题

求Solaris下编译Pro*C的makefile [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-08 13:28 |只看该作者 |倒序浏览
刚接触数据库,很多不会,希望高手多多包涵。

Solaris下编译Pro*C的makefile从网上查了好半天,也没有找到。

希望得到指点,或告诉我下载位置。非常感谢。

论坛徽章:
0
2 [报告]
发表于 2006-09-08 15:18 |只看该作者
$ORACLE_HOME/precomp/demo/proc/proc.mk
这个文件可以参考

论坛徽章:
0
3 [报告]
发表于 2006-09-08 15:30 |只看该作者
谢谢回答,安装Oracle的服务器下,在precomp目录下没有这个demo这个目录。
另外$ORACLE_HOME下有demo这个目录但是没有proc.mk。
Oracle的版本是: 10.1.0
以下是precomp目录结构
$ ls -l
合計 14
drwxr-xr-x   2 oracle   dba          512 11月 30日 2005年 admin
drwxr-xr-x   4 oracle   dba          512 11月 30日 2005年 doc
drwxr-xr-x   2 oracle   dba          512 11月 30日 2005年 lib
drwxr-xr-x   2 oracle   dba          512 11月 30日 2005年 lib32
drwxr-xr-x   2 oracle   dba         1024 11月 30日 2005年 mesg
drwxr-xr-x   2 oracle   dba         1024 11月 30日 2005年 public
drwxr-xr-x   2 oracle   dba          512 11月 30日 2005年 public32

论坛徽章:
0
4 [报告]
发表于 2006-09-08 18:22 |只看该作者
终于明白了。
原来只需在makefile中追加include $(ORACLE_HOME)/precomp/lib/env_precomp.mk,其他一切按照makefile的书写规则即可。
以下是sample:
include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
LIBDIR=lib32
CC = /opt/SUNWspro/bin/CC
CFLAGS= -c -g
PROCFLAGS= line=yes sqlcheck=semantics userid=si1_app1/si1_app1

TARGET= test
OBJS= test.o

.SUFFIXES: .pc .c .o

$(TARGET): $(OBJS)
        $(CC) -o $@ $(OBJS) -L$(LIBHOME)  $(PROLDLIBS)

.pc.c:
        $(PROC) $(ORADEF) $(PROCFLAGS) iname=$*

.pc.o:
        $(PROC) $(ORADEF) $(PROCFLAGS) iname=$* $(ORADEF)
        $(CC) $(CFLAGS) $*.c

.c.o:
        $(CC) $(CFLAGS) $*.c

clean :
        $(RM) -f $(TARGET) $(OBJS) $(TARGET:%=%.c)

论坛徽章:
0
5 [报告]
发表于 2006-09-11 15:24 |只看该作者
抱歉,漏掉了一个关键点。CODE也是需要指定的,尤其Oracle缺省并不是ansi_c,修改后sample如以下:

include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
LIBDIR=lib32
CC = /opt/SUNWspro/bin/cc
CFLAGS= -c -g
OCFLAGS= code=ansi_c line=yes sqlcheck=semantics


TARGET= test
OBJS= test.o

.SUFFIXES: .pc .c .o

$(TARGET): $(OBJS)
        $(CC) -o $@ $(OBJS) -L$(LIBHOME)  $(PROLDLIBS)

.pc.c:
        $(PROC) $(ORADEF) $(PROCFLAGS) iname=$*

.pc.o:
        $(PROC) $(ORADEF) $(PROCFLAGS) iname=$* $(ORADEF)
        $(CC) $(CFLAGS) $*.c

.c.o:
        $(CC) $(CFLAGS) $*.c

clean :
        $(RM) -f $(TARGET) $(OBJS) $(TARGET:%=%.c)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP