我正在尝试将大量文件(.pc pro*c 代码、c 代码和 .h 文件到一个 exe 中)编译成一个 exe。
示例代码。
请注意,制表符会相应地放置。但是在发布时在此处删除。
对不起,试图修复缩进..但是现在会做得更好。
请注意,行首的 T 代表一个制表符。
build :$(OBJS)
T @if [ "$(EXE)" = "abc" ]; then \
T echodo `command`\
T elif [ "$(ORA_CLIENT_LIB)" = "shared" ]; then \
T echodo $(CC) $(LDFLAGSSHRD) $(LIBPATHS) -m64 -o $(EXE) $(OBJS) `cat $(ORACLE_HOME)/rdbms/lib/sysliblist ` $(LIBHOME)/libclntsh.so; \
T else \
T echodo $(CC) $(LIBPATH) -m64 -o $(EXE) $(OBJS) -L$(LIBPATH) $(PROLDLIB) $(AMOLIB) $(LIBHOME)/libclntsh. a ;\
T fi
变量 ORA CLient Lib 设置为共享。而且,代码仍然没有进入 elif 块。我错过了什么吗?
当我运行make时,我收到错误...
------/bin/sh: -c: line 4: syntax error: unexpected end of file
------make: *** [build] Error 2
所有 .o 文件都已创建,但 exe 不是。我不明白缺少什么。echodo 是 Oracle bin 的文件。由于我正在编译 ProC 代码,因此它必须具有一定的相关性。