错误:不知道如何制作

时间:2012-04-18 19:25:14

标签: c makefile

我收到了一个我修改过的makefile:

############################################
# Makefile using OCI (Oracle Call Interface)
# D. LaRue  -  May, 2001
############################################

ORACLE_HOME=/opt/oratcp11/product/11.2.0/client11R2_32bits
CC=/opt/SUNWspro/SUNWspro12/sparc/SUNWspro/bin/cc
COMMON_SRC=../common
BNS_INCLUDE=../include
LIBHOME=$(ORACLE_HOME)/lib/
RDBMSLIB=$(ORACLE_HOME)/rdbms/lib/
WSSCOMMON_LIB=/vobs/wssCommon/lib_32
TARGET_DIR=.

LLIBCRYPTO  =-lbnscrypto
LSOLCRYPTO  =-lcryptoutil -lpkcs11
WSSLIBS     =-lwssmbx -ldes
LIBRDBMS_CLT    =-lclient11 -lvsn11 -lcommon11 -lgeneric11 -lmm
LLIBCLNTSH      =-lclntsh -ldl 
CORELIBS        =-lcore11 -lnls11 
LDLIBS          =-lnsl -lsocket -lgen -lm
EXSYSLIBS       =-R $(ORACLE_HOME)/lib

STATICTTLIBS    =$(LLIBRDBMS_CLT) $(CORELIBS) $(WSSLIBS) $(LLIBCRYPTO)
OCISHAREDLIBS   =$(LLIBCLNTSH) $(LDLIBS) -Bstatic $(STATICTTLIBS) -Bdynamic $(LSOLCRYPTO)

LDFLAGS     =-L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/rdbms/lib -L$(WSSCOMMON_LIB) -L../lib_32

INCLUDE     =-I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/plsql/public -I$(ORACLE_HOME)/network/public -I$(COMMON_SRC) -I$(BNS_INCLUDE) -I. 

CFLAGS      =$(INCLUDE) $(LDFLAGS) -g -Xt

BESSOBJS=bessToWss.o

COMMONLIST=$(COMMON_SRC)/oracle.c \
           $(COMMON_SRC)/logger.c 

INTFOBJS=$(BESSOBJS) $(COMMONLIST)

ALL:    $(TARGET_DIR)/bessToWss

$(TARGET_DIR)/bessToWss: $(INTFOBJS)
    $(CC) $(CFLAGS) $(INTFOBJS) $(OCISHAREDLIBS) -o $@

clean:
    $(RM) *.o

当我运行文件时出现错误

". Stop.e: Error:  Don't know how to make "bessToWss

知道出了什么问题吗?我通过脚本在一些unix机器上运行它。脚本调用后设置一些路径或一些其他设置。正如你所看到的,我不确定它是如何被称为的。

谢谢:)

1 个答案:

答案 0 :(得分:2)

错误消息看起来很奇怪 - 你在makefile中有CRLF行结尾吗?

". Stop.e: Error: Don't know how to make "bessToWss

那可能是:

/bin/make: Error: Don't know how to make "bessToWss CR ". Stop.

其中 CR 是回车条,将打印位置移回到行首。

您是否在Windows计算机上创建了makefile或对其进行编辑?您是否在不使用文本模式传输的情况下进行FTP或复制,因此保留了CRLF行结尾?

如果是这样,摆脱回车。使用vim在Unix上编辑文件并执行:set fileformat=unix并再次保存。

根据这一假设,make正在尝试构建一个程序,其名称中包含一个CR(回车符),并且您没有为此做出规则。