nginx 1.3.6 编译报错 [-Werror=unused-but-set-variable]的解决
2012-10-09 10:43
381 查看
遇到类似 [-Werror=unused-but-set-variable]的错误:
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:529:22: error: variable ‘level_indication’ set but
not used [-Werror=unused-but-set-variable]
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:528:22: error: variable ‘profile_compatibility’ set but not used [-Werror=unused-but-set-variable]
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:527:22: error: variable ‘profile_indication’ set but not used [-Werror=unused-but-set-variable]
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:526:22: error: variable ‘configuration_version’ set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[2]: *** [objs/addon/src/mp4_reader.o] Error 1
make[2]: Leaving directory `/home/zhangbin/mserver/nginx/nginx-1.3.6'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/home/zhangbin/mserver/nginx/nginx-1.3.6'
make: *** [all] Error 2
root@ubuntu:/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7#
直接修改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无关。
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:529:22: error: variable ‘level_indication’ set but
not used [-Werror=unused-but-set-variable]
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:528:22: error: variable ‘profile_compatibility’ set but not used [-Werror=unused-but-set-variable]
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:527:22: error: variable ‘profile_indication’ set but not used [-Werror=unused-but-set-variable]
/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:526:22: error: variable ‘configuration_version’ set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[2]: *** [objs/addon/src/mp4_reader.o] Error 1
make[2]: Leaving directory `/home/zhangbin/mserver/nginx/nginx-1.3.6'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/home/zhangbin/mserver/nginx/nginx-1.3.6'
make: *** [all] Error 2
root@ubuntu:/home/zhangbin/mserver/nginx/nginx_mod_h264_streaming-2.2.7#
直接修改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无关。
相关文章推荐
- nginx upload 模块build错误解决error: variable ‘result’ set but not used [-Werror=unused-but-set-variable]
- 编译时出现set but not used [-Werror=unused-but-set-variable]问题的解决办法
- Ubuntu 下编译出现-Werror=unused-but-set-variable的解决办法
- 编译时出现set but not used [-Werror=unused-but-set-variable]问题的解决办法
- 嵌入式 编译gdb源码时出现“set but not used [-Werror=unused-but-set-variable]”问题的解决办
- 编译android 4.0源码遇到variable ‘ParamName’ set but not used [-Werror=unused-but-set-variable]
- Android编译错误set but not used [-Werror=unused-but-set-variable]
- Werror=unused-but-set-variable报错的解决
- anroid4.0编译 error: variable ‘ParamName’ set but not used [-Werror=unused-but-set-variable]
- comapi.c:425:15: 错误:变量‘status’被设定但未被使用 [-Werror=unused-but-set-variable]
- 嵌入式 常见错误Werror=unused-but-set-variable解决方案
- error: variable ‘ParamName’ set but not used [-Werror=unused-but-set-variable]
- build_mips/makedevs-host/makedevs.c:366:6: 错误: 变量‘ret’被设定但未被使用 [-Werror=unused-but-set-variable]
- Android之ndk编译出现这个错误error: unused variable 'a' [-Werror=unused-variable]
- g++编译警告原因分析Wunused-but-set-variable
- Linux下运行Java项目时,出现No X11 DISPLAY variable was set, but this program performed an operation which requires it.的问题解决
- nginx源码编译安装出现“make[1]: Leaving directory `/usr/local/nginx’“解决办法
- redis异常解决:jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set
- linux——编译安装nginx出现报错,以及启动nginx服务时80端口被占用怎么解决?
- redis异常解决:jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set