免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3321 | 回复: 6

嵌入C(sqC) 的编译,连接,环境,路径,make file 的问题 [复制链接]

论坛徽章:
0
发表于 2006-11-06 17:50 |显示全部楼层
db2  下,makefile后产生可执行文件test,但是一执行就报如下错误:


./test
exec(): 0509-036 Cannot load program ./test because of the following errors:
        0509-022 Cannot load module /dwcdr/dwcdr/sqllib/lib32/libdb2.a(shr.o).
        0509-150   Dependent module /dwcdr/dwcdr/sqllib/lib/libdb2osse.a(shr.o) could not be loaded.
        0509-152   Member shr.o is not found in archive

    有大侠说是操作系统版本的问题,怎么回事?大家帮下忙啊。

我的的makefile为:
.SUFFIXES: .sqc .c .o

GCC=gcc
CC=gcc



DB2PATH=/××××/××××/sqllib
CCFLAGS=-g

CFLAGS=  -I$(DB2PATH)/include

LIBS= -L $(DB2PATH)/lib   -ldb2
UID=XXXX
PWD=XXX
DB=XXX

BILLHOME=.
BILLBIN=.
BILLSRC=$(BILLHOME)
BILLOBJ=$(BILLHOME)
BILLLIB=../lib

INCLUDE=-I. -I$(BILLHOME)/src -I$(BILLLIB) \
       -I$(DB2PATH)/include \
       -I/usr/lib -I/usr/local/include \
       -I/usr/include


TARGET1 = $(BILLBIN)/test
all(TARGET1)

.sqc.o:
        db2 connect to $(DB) user $(UID) using $(PWD);\
        db2 prep $*.sqc bindfile;\
        db2 bind $*.bnd;\
        db2 connect reset;\
        $(CC) $(INCLUDE) -o  $*.o -c  $(CCFLAGS) $(CFLAGS) $(DEFS)  $*.c ;

.c.o:
        $(CC) $ (INCLUDE) -o  $*.o -c  $(CCFLAGS) $(CFLAGS) $(LIBS) $(DEFS) $*.c --def \standard.def


PICK_OBJS1= $(BILLSRC)/test.o

$(BILLBIN)/test:    $(PICK_OBJS1)
        $(CC) $(CFLAGS) -o $(TARGET1)  $(PICK_OBJS1)  $(ORACLE_LIB)$(LINKFLAG) $(LIBS)

clean:
        rm -f *.o $(TARGET1) test.c test.o test.bnd

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
发表于 2006-11-06 21:35 |显示全部楼层
是在AIX上吗?
是32位,还是64位?
LD_LIBRARY_PATH正确吗?

你试试sample下面的c程序,用它的makefile
看看能不能转!

论坛徽章:
0
发表于 2006-11-07 09:48 |显示全部楼层
是64位的,但是把 -q64开关加上,makefile编译后说不认识-q64啊。LD_LIBRARY_PATH该怎么设置?

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
发表于 2006-11-07 21:00 |显示全部楼层
你先去看看别人sample程序里面是怎么搞!

论坛徽章:
0
发表于 2006-11-07 22:40 |显示全部楼层
LD_LIBRARY_PATH和LIB_PATH没设置对!按makefile里设置

论坛徽章:
0
发表于 2006-11-09 15:04 |显示全部楼层
按出错信息来看,很可能是没加-q64 。
在编译和link的的时候都加-q64试试

论坛徽章:
0
发表于 2012-07-17 15:49 |显示全部楼层
您好:

     能否跟楼主学习下linux c链接db2数据库。 我的QQ:746554171
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP