最简单的AIX下makefile问题(很长时间都没搞懂)

robin_yao 2008-05-19 02:35:44
[code=INIFile]include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
TARGET=111

PROC_FILES = GFun_DB.pc

PROC_CPP_FILES = $(PROC_FILES:.pc=.cpp)

CPP_FILES=$(PROC_CPP_FILES) test.cpp

OBJS =$(CPP_FILES:.cpp=.o)


PROC_FLAGS= SQLCHECK=SEMANTICS userid=test/test@testdb code=cpp cpp_suffix=cpp
PROC_INC = include=/usr/vacpp/include

.SUFFIXES: .cpp .o .pc

all : TARGET

TARGET : $(OBJS)
@echo "\n\tBuilding $@ ......\n"
xlC -o $(TARGET) $(OBJS) -L$(LIBHOME) $(PROLDLIBS) CFLAGS=$(CFLAGS32) LFLAGS="$(LFLAGS32)"

.cpp.o:
@echo "\n\tBuilding $@ ......\n"
xlC -c $(TUX_INC) $<

.pc.cpp:
@echo "\n\tBuilding $@ ......\n"
$(PROC) $(PROC_FLAGS) $(PROC_INC) INAME=$(PROC_FILES)

.PHONY : clean
clean :
rm -f $(PROC_FILES:.pc=.lis)
rm -f $(PROC_CPP_FILES)
rm -f *.o
rm -f $(TARGET)
[/code]



请问我这个makefile为什么总是出现下面的问题


Building GFun_DB.cpp ......

proc SQLCHECK=SEMANTICS userid=test/test@testdb code=cpp cpp_suffix=cpp include=/usr/vacpp/include INAME=GFun_DB.pc

Pro*C/C++: Release 9.0.1.0.0 - Production on Mon May 19 09:54:38 2008

(c) Copyright 2001 Oracle Corporation. All rights reserved.

System default option values taken from: /u01/app/oracle/product/9i/precomp/admin/pcscfg.cfg

PCC-F-02104, Unable to connect to Oracle
make: The error code from the last command is 1.



谁能给我一个最精简的AIX(带编译PC文件)的makefile!!谢谢!
没有AIX的,其他平台的也可以。
...全文
1039 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
FreeElf 2008-05-21
  • 打赏
  • 举报
回复
连接oracle数据库,我不大懂,这是makefile原文件吗?看着变量声明使用的不是很好呢
变量使用要用$(NAME)
fuqd273 2008-05-19
  • 打赏
  • 举报
回复
还有2个连接,一并给你,作为参考。
这两个文章都是介绍oracle的安装的。在安装结束之后,关于数据库启动的部分,请参照一下。
ORACLE 7.3.4 for SCO Openserver 5.0.5 安装方法
Oracle Database 9i 在Linux 下的安装
fuqd273 2008-05-19
  • 打赏
  • 举报
回复
UNIX 上的数据库的自动启动与关闭
在 Unix 上, ORACLE 提供了 dbstart 和 dbshut 脚本以供使用。在 Linux 中 ORACLE 检测文件 /etc/oratab 来决定哪个数据库自动的启动 / 关闭。在 Solaris ( 和一些其他版本的 Unix) 中,检查 /var/opt/oracle/oratab 文件。要注意: 8.1.6 版本的 dbstart 有个 bug, 在 8.1.7 中已经被修复,察看 [7 Metalink, 2000] 有详细说明。

在 Linux 上,作为 root 用户,在 /etc/rc.d/init.d 目录中创建一个一个名为 dbora 的文件。这个文件将会检查参数是否是 'start' 或者 'stop' 并且适当的执行 dbstart/dbshut ;通常也从这个脚本启动 listener 。再生成两个符号连接 /etc/rc.d/rc2.d/S99dbora 和 /etc/rc.d/rc0.d/K10dbora 。数据库在运行级 2( 多用户 ) 时通过 /etc/rc.d/rc2.d/S99dbora 启动 , 在系统关闭到运行级 0 的时候通过 /etc/rc.d/rc0.d/K10dbora 关闭数据库。在 Solaris 上,这个脚本的在 /etc/init.d 中而不是在 /etc/rc.d/init.d。
fuqd273 2008-05-19
  • 打赏
  • 举报
回复
记得oracle的目录下有文件需要设定的。
具体哪个文件忘了……
设定的内容好像是数据库名啥的。你确定改好了?
robin_yao 2008-05-19
  • 打赏
  • 举报
回复
初始问题的所有错误代码都贴出来了
Building GFun_DB.cpp ......

proc SQLCHECK=SEMANTICS userid=test/test@testdb code=cpp cpp_suffix=cpp include=/usr/vacpp/include INAME=GFun_DB.pc

Pro*C/C++: Release 9.0.1.0.0 - Production on Mon May 19 15:07:25 2008

(c) Copyright 2001 Oracle Corporation. All rights reserved.

System default option values taken from: /u01/app/oracle/product/9i/precomp/admin/pcscfg.cfg

PCC-F-02104, Unable to connect to Oracle
make: The error code from the last command is 1.


就这么多了。
fuqd273 2008-05-19
  • 打赏
  • 举报
回复
让我们离开2楼的问题,直接针对初始问题。

引用
PCC-F-02104, Unable to connect to Oracle
make: The error code from the last command is 1.

这条信息的含义是连接oracle失败。
所以,问题 还是出在oracle的设定。
fuqd273 2008-05-19
  • 打赏
  • 举报
回复
这句话不能直接屏蔽的吧……

你的这个错误信息之前的信息是什么?完整的信息。。。

robin_yao 2008-05-19
  • 打赏
  • 举报
回复
oracle肯定没问题,其他makefile没问题。
我把include $(ORACLE_HOME)/precomp/lib/env_precomp.mk这一句话屏蔽掉了,然后报了另外一个错误


Building GFun_DB.o ......

xlC -c GFun_DB.cpp

Building TARGET ......

xlC -o 111 GFun_DB.o test.o -L CFLAGS= LFLAGS=""
xlC: 1501-228 input file LFLAGS= not found
make: The error code from the last command is 252.


fuqd273 2008-05-19
  • 打赏
  • 举报
回复
你使用的是Pro*C的编译用makefile吧?
貌似oracle数据库没开?或者userid=test/test@testdb 这里的参数不对,用户名/密码@数据库名……
检查一下?

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧