求Linux下 OCCI 程序的makefile
程序是在 Windows 下面写的,编译通过了。但是在Linux下面不知道怎么编译,求高手帮忙!
代码分成三个文件: main.cpp db_occi.h db_occi.cpp
这三个文件,前面的部分是这么写的:
db_occi.h
//------------------------------------------------------------
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <assert.h>
#include <occi.h>
#include <occiCommon.h>
#include <occiData.h>
#include <occiObjects.h>
#include <occiAQ.h>
#include <occiControl.h>
using namespace oracle::occi;
class dbAccessor
{
。。。。。。略
db_occi.cpp
//------------------------------------------------------------
#include "db_occi.h"
using namespace std;
using namespace oracle::occi;
dbAccessor::dbAccessor()
{
bConnected=false;
m_env=0;
m_conn=0;
m_stmt=0;
}
dbAccessor::~dbAccessor()
{
Disconn_DB();
}
。。。。。。略
main.cpp
//------------------------------------------------------------
#include<string>
#include<string.h>
#include<stdlib.h>
#include<occi.h>
#include<occiCommon.h>
#include<occiData.h>
#include<occiObjects.h>
#include<occiAQ.h>
#include<occiControl.h>
#include "db_occi.h"
using namespace std;
using namespace oracle::occi;
int main(void)
{
。。。。。。略
我现在的makefile是这么写的(不太了解makefile的写法,瞎写的):
文件makefile
#************************************************************
ORACLE_INCLUDES=-I$(ORACLE_HOME)/rdbms/demo \
-I$(ORACLE_HOME)/rdbms/public \
-I$(ORACLE_HOME)/plsql/public \
-I$(ORACLE_HOME)/network/public \
-I$(ORACLE_HOME)/precomp/public
ORACLE_LIBS=-L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/rdbms/lib
INC=$(ORACLE_INCLUDES)
LIB=$(ORACLE_LIBS) -lclntsh -locci
s1:main.o db_occi.o
g++ $(INC) $(LIB) -o s1 main.o comm.o
main.o:main.cpp
g++ $(INC) $(ORACLE_LIBS) -c main.cpp
db_occi.o:db_occi.h db_occi.c
g++ $(INC) $(ORACLE_LIBS) -c db_occi.c
clean:
rm s1 main.o db_occi.o
但是执行 make 的时候报错:
make: *** No rule to make target `db_occi.c', needed by `db_occi.o'. Stop.
求高手指点啊!
^_^