linux环境下DB2嵌入C++编程的makefile问题(急,在线等)
大家好,我对单个.sqC文件的makefile如下:DB2 = db2
CC = g++
CFLAGS = -O
IP1 = /home/db2inst1/sqllib/include
LP1 = /home/db2inst1/sqllib/lib
LIB1= db2
DATABASE = roadnet2
EXE = split
SQC = split.sqC
C = split.C
BND = split.bnd
OBJ = split.o
all : $(EXE)
$(EXE) : $(OBJ)
$(CC) $(CFLAGS) -L$(LP1) $(OBJ) -o $@ -l$(LIB1); \
$(OBJ) : $(C)
$(CC) -g -c $(CFLAGS) -I$(IP1) $(C)
$(C) $(BND) : $(SQC)
$(DB2) connect to $(DATABASE) user db2inst1 using 111111; \
$(DB2) prep $(SQC) target cplusplus bindfile using $(BND); \
$(DB2) bind $(BND); \
$(DB2) connect reset
clean :
rm $(C) $(BND) $(OBJ) $(EXE)
对单个文件进行编译是对的,可是怎么修改了让它能够编译多个.sqC文件呢?我试过把.sqC和相应的.C文件添加在$(C)和$(BND)中,可是不行啊,大侠们能告诉我怎么修改妈? makefile文件:
CC= gcc
DBNAME = shjddb
INCDIR = $(HOME)/sqllib/include
BINDIR = $(HOME)/sqllib/bin
BNDDIR = $(HOME)/sqllib/bnd
LIBDIR = $(HOME)/sqllib/lib
CFLAGS = -I$(INCDIR) -s
LFLAGS = -L$(LIBDIR) -ldb2
test = test.o
all: test clear
test : $(test)
$(CC) -O $(LFLAGS) $(test) -o $@
.SUFFIXES:.SQC
.SQC.o:
cp $*.SQC $*.sqc
db2 connect to $(DBNAME);
db2 prep $*.sqc BINDFILE USING $(BNDDIR)/$*.bnd;
db2 bind $(BNDDIR)/$*.bnd datetime ISO;
db2 grant execute on package $* to public;
$(CC) -g -c -O $(CFLAGS) $*.c
-rm -f $*.c $*.sqc
clear:
-rm *.o
test.SQC文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sqlenv.h>
#include <sqlcodes.h>
#include <sqlda.h>
EXEC SQL INCLUDE sqlca;
int main()
{
EXEC SQL BEGIN DECLARE SECTION;
char acDbName;
char acDbUser;
char acDbPass;
char acBrno;
EXEC SQL ENDDECLARE SECTION;
char str, *zz, str1;
int i;
strcpy( acDbName, "shjddb" );
strcpy( acDbUser, "shjd" );
strcpy( acDbPass, "shjd" );
EXEC SQL CONNECT TO :acDbName user :acDbUser using :acDbPass;
if (sqlca.sqlcode)
{
printf("连接数据库出错!\n");
goto EXIT;
}
memset( acBrno, 0x00, sizeof(acBrno));
EXEC SQL SELECT SITENO INTO :acBrno
FROM TEMP_BATCH
WHERE BATCHID = '20090514150559031001';
if( SQLCODE != 0 )
{
printf("运行SQL出错!\n");
goto EXIT;
}
printf("Brno=%s\n", acBrno);
EXIT:
EXEC SQL DISCONNECT :acDbName ;
printf("程序运行结束!\n");
exit(0);
} 看看
页:
[1]