如何在Solaris/Linux服务器上为Oracle创建makefile?
我有一个为Informix数据库正常运行的应用程序。但现在我希望它也能为Oracle编译。下面显示的makefile在Informix中正确运行时应该做哪些更改如何在Solaris/Linux服务器上为Oracle创建makefile?,c,oracle,gcc,makefile,cc,C,Oracle,Gcc,Makefile,Cc,我有一个为Informix数据库正常运行的应用程序。但现在我希望它也能为Oracle编译。下面显示的makefile在Informix中正确运行时应该做哪些更改 ESQL:=esql CFLAGS:=$(CFLAGS) -DSOLARIS PROCFLAGS:=$(PROCFLAGS) -DSOLARIS HEADERS= $(HOME)/tmiD/headers target = $(HOME) CC=gcc %.o :%.ec ; $(ESQL) -I$(HEADERS) -c $(CFL
ESQL:=esql
CFLAGS:=$(CFLAGS) -DSOLARIS
PROCFLAGS:=$(PROCFLAGS) -DSOLARIS
HEADERS= $(HOME)/tmiD/headers
target = $(HOME)
CC=gcc
%.o :%.ec ; $(ESQL) -I$(HEADERS) -c $(CFLAGS) -DINFORMIX -EDINFORMIX -I/usr/local/include $<
%.o :%.c ; $(CC) -I$(HEADERS) -c $(CFLAGS) $<
MAKEC= mv $(target)/$(@F) $(target)/$(@F).old; \
$(ESQL) -DINFORMIX -EDINFORMIX \
$^ $(CFLAGS) -lnsl -L $(target) \
-o $(target)/$(@F)
$(target)/%:%.o $(CLIBFILES); $(MAKEC)
%:%.o $(CLIBFILES); $(MAKEC)
all: a tw_interface clean
tw_interface: tcp.o trace.o global.o rmi.o License.o purge.o libswx.a
ap: tcp.o trace.o global.o rmi.o License.o purge.o
clean:
-rm tcp.o trace.o global.o rmi.o purge.o License.o\
trace.c global.c rmi.c
a:
-rm tw_interface
我对这些东西很陌生。所以请帮帮我
提前谢谢。嗯……你说你对这些东西很陌生 如果你不是一个有经验的程序员,那么重新编写一个Makefile是一个非常重要的练习 但是,如果您想尝试一下,我建议您首先在您的ORACLE_主页中安装Pro*C演示。完成后,通过构建示例Pro*C程序进行验证,我建议使用demo_proc.mk makefile,它将与演示程序一起安装,作为转换makefile的模板 另外,请注意,我对Informix一无所知,但代码本身可能需要转换为Pro*C,因为我假设Informix还有其他一些预编译器,或用于数据库访问的备用库集
希望能有所帮助。我认为Pro*C预编译器是用proc调用的,所以第一行
ESQL:=esql
应该成为
PRO_C:=proc
%.o :%.pc ; $(PRO_C) CONFIG=proc_c_config.txt -I$(HEADERS) -c $(CFLAGS) -I/usr/local/include $<
$(PRO_C) CONFIG=pro_c_config.txt \
看起来Pro*C文件通常具有.pc文件扩展名。假设您的Pro*C文件与Informix*.es文件略有不同,并且您将使用.pc扩展名创建它们,那么这一行
%.o :%.ec ; $(ESQL) -I$(HEADERS) -c $(CFLAGS) -DINFORMIX -EDINFORMIX -I/usr/local/include $<
将成为
PRO_C:=proc
%.o :%.pc ; $(PRO_C) CONFIG=proc_c_config.txt -I$(HEADERS) -c $(CFLAGS) -I/usr/local/include $<
$(PRO_C) CONFIG=pro_c_config.txt \
他们在CFLAGSOk中谈论的东西可能更多。我想知道到底需要做什么。你能告诉我或者给我任何有帮助的链接吗?你能编辑你的问题来添加你得到的任何错误吗?如果是这样,那么就包含所有错误,并进行复制/粘贴,这样就不会修改任何消息。我希望这件事也能为甲骨文公司工作。所以我想知道在这个make文件中应该做什么更改。请给我一些信息,说明应该添加/修改或删除哪些内容才能使其适用于Oracle。我可以为Oracle编译,但我遇到了以下错误:PCC-S-02015,无法打开此行中的包含文件:EXEC SQL include datetime;可能出了什么问题以及如何克服?