문제는 Windows에서 잘 컴파일되는 동일한 코드가 Ubuntu에서 컴파일 할 수 없다는 것입니다. 이 오류가 발생할 때마다 :
cc1: warnings being treated as errors
이제는 큰 코드 기반이며 모든 경고를 수정하는 것을 좋아하지 않습니다.
경고에도 불구하고 성공적으로 컴파일 할 수있는 방법이 있습니까?
문제는 Windows에서 잘 컴파일되는 동일한 코드가 Ubuntu에서 컴파일 할 수 없다는 것입니다. 이 오류가 발생할 때마다 :
cc1: warnings being treated as errors
이제는 큰 코드 기반이며 모든 경고를 수정하는 것을 좋아하지 않습니다.
경고에도 불구하고 성공적으로 컴파일 할 수있는 방법이 있습니까?
답변:
물론 -Werror
입니다. 설정된 위치를 찾아 해당 플래그를 제거하십시오. 그러면 경고는 경고 일뿐입니다.
-Wno-error
nightcracker가 제안한대로을 사용 하여 재정의 할 수 있습니다 . makefile에서 -Werror
설정 한 플래그 뒤에가 전달 되지 않는 한 작동 CFLAGS
합니다.
를 사용하여 모든 경고를 처리 할 수 있습니다 -Wno-error
. 오류로 처리하지 않으려는 경고의 이름은 -Wno-error=<warning name>
where 를 사용하여 처리되는 특정 경고를 만들 수 있습니다 <warning name>
.
모든 경고 를 완전히 비활성화 하려면 -w
(권장하지 않음)을 사용하십시오.
출처 : http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html
모든 유용한 제안에 감사드립니다. 마침내 내 코드에 경고가 없는지 확인했지만 다시 sqlite3에서이 경고를 받았습니다.
Assuming signed overflow does not occur when assuming that (X - c) <= X is always true
다음 CFLAG를 추가하여 수정했습니다.
-fno-strict-overflow
-Werror
제거한 후에는 경고를 제거한 후 디렉토리별로 다시 추가 할 수 있습니다.