遇到类似 [-Werror=unused-but-set-variable]的错误:
直接修改nginx_mod_h264_streaming-2.2.7/的Makefile,没看到Werror啊。
Makefile是:
all:
cd $(NGINX) && ./configure --sbin-path=/usr/local/sbin --add-module=$(PWD) --with-debug --with-http_flv_module
make --directory=$(NGINX)
CONFIG里有CFLAGS:
CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -DBUILDING_NGINX"
Makefile会去读CONFIG么?
nginx的Makefile:
default: build
clean:
rm -rf Makefile objs
build:
$(MAKE) -f objs/Makefile
$(MAKE) -f objs/Makefile manpage
objs的Makefile:
CC = gcc
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -D_LARGEFILE_SOURCE -DBUILDING_NGINX
CPP = gcc -E
LINK = $(CC)
ALL_INCS = -I src/core \
-I src/event \
-I src/event/modules \
-I src/os/unix \
-I objs \
-I src/http \
-I src/http/modules \
-I src/mail
去掉Werror就可以了。
实际使用的编译指令是:
objs/addon/src/mp4_reader.o: $(ADDON_DEPS) \
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c
$(CC) -c $(CFLAGS) $(ALL_INCS) \
-o objs/addon/src/mp4_reader.o \
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c
所以264_mod的编译是nginx的Makefile控制的,与264内部自带的Makefile无关。