我在64位Linux(2.6.39-gentoo-r3),GCC版本4.6.3 上编译我的项目,但是当我编译时,警告包含一些不可读的字符。就像下面这样:如何解决海湾合作委员会警告中的混乱信息
warning: field precision specifier ?.*?.expects argument of type ?.nt?. but argument 6 has type ?.ong int?.[-Wformat]
warning: format ?.u?.expects argument of type ?.nsigned int?. but argument 7 has type ?.ize_t?.[-Wformat]
warning: ignoring return value of ?.ystem?. declared with attribute warn_unused_result [-Wunused-result]
虽然我可以猜出这些杂乱的部分,但它们看起来很糟糕。那么是否有人遇到同样的问题或知道如何解决它?
我试过了,它不能很好地工作。我的命令是:$ LC_ALL = C LANG = C gcc -c -fPIC -g3 -Wall -Wno -unused -D_DEBUG_LOGGING -D_GNU_SOURCE -I。 -Itest test_main.c test_main.c:in function?.ain ?. test_main.c:34:20:警告:初始化使得指针中的整数不发生转换 test_main.c:51:5:警告:字段精度应该有类型?.nt ?.但参数2有类型?.ong unsigned int? test_main.c:51:5:warning:format?.. * s?.expect type?.har * ?.但参数3的类型是?.nt? – Hijack 2013-03-01 03:03:34
顺便说一句,我的本地内容是:LANG =的en_US.UTF-8 LC_CTYPE = “的en_US.UTF-8” LC_NUMERIC = “的en_US.UTF-8” LC_TIME = “的en_US.UTF-8” LC_COLLATE = C LC_MONETARY = “的en_US.UTF-8” LC_MESSAGES = “的en_US.UTF-8” LC_PAPER = “的en_US.UTF-8” LC_NAME = “的en_US.UTF-8” LC_ADDRESS = “的en_US.UTF-8” LC_TELEPHONE =“en_US.UTF-8” LC_MEASUREMENT =“en_US.UTF-8” LC_IDENTIFICATION =“en_US.UTF-8” LC_ALL = – Hijack 2013-03-01 03:06:09