当前位置: 代码迷 >> 多核软件开发 >> linux下编译不过去~/usr/bin/ld: skipping incompatible .解决思路
  详细解决方案

linux下编译不过去~/usr/bin/ld: skipping incompatible .解决思路

热度:1319   发布时间:2013-02-26 00:00:00.0
linux下编译不过去~/usr/bin/ld: skipping incompatible ...
makefile 如下:
#文件类型定义
.SUFFIXES: .ec .c .o .h

#编译器定义
EC=esql

#编译参数定义
EC_FLAGS= $(CC_CPCMT) $(CC_64BIT) -I. -I../include -I../../include

#目标存放路径
BUILD=../../build/

#目标文件
APP=$(BUILD)s_daily_ctrl $(BUILD)s_daily 

#中间文件定义
OBJS=../../lib/comm.a

CLEANOBJ = $(APP) *.o *.c

all:$(APP)
$(BUILD)s_daily_ctrl:s_daily_ctrl.ec 
$(EC) $(EC_FLAGS) -o $@ $? $(OBJS)
$(BUILD)s_daily:s_daily.ec 
$(EC) $(EC_FLAGS) -o $@ $? $(OBJS)
rm -rf *.o *.c
clean:
rm -rf $(CLEANOBJ)


编译的报错:
esql -I. -I../include -I../../include -o ../../build/s_daily_ctrl s_daily_ctrl.ec ../../lib/comm.a
/usr/bin/ld: skipping incompatible /home/informix/lib/esql/libifsql.so when searching for -lifsql
/usr/bin/ld: skipping incompatible /home/informix/lib/esql/libifsql.a when searching for -lifsql
/usr/bin/ld: cannot find -lifsql
collect2: ld returned 1 exit status
make: *** [../../build/s_daily_ctrl] Error 1

大家帮忙给看看是什么问题,
就是换了个主机,然后编译就不行了,以前没问题的

------解决方案--------------------------------------------------------
看看环境变量LD_LIBRARY_PATH
把其中的/home/informix/lib,改为/home/informix/lib32
------解决方案--------------------------------------------------------
探讨
看看环境变量LD_LIBRARY_PATH
把其中的/home/informix/lib,改为/home/informix/lib32

------解决方案--------------------------------------------------------
file /home/informix/lib/esql/libifsql.so
看看什么结果..
------解决方案--------------------------------------------------------
找找你的esql,用file看看是多少位的..