경고를 오류로 처리하지 않고 컴파일하는 방법은 무엇입니까?
문제는 Windows에서 잘 컴파일되는 동일한 코드가 Ubuntu에서 컴파일 할 수 없다는 것입니다. 이 오류가 발생할 때마다 :
cc1: warnings being treated as errors
이제 큰 코드 기반이며 모든 경고를 수정하는 것을 좋아하지 않습니다.
경고에도 불구하고 성공적으로 컴파일 할 수있는 방법이 있습니까?
물론 -Werror
입니다. 설정된 위치를 찾아 해당 플래그를 제거하십시오. 그러면 경고는 경고 일뿐입니다.
를 사용하여 모든 경고를 처리 할 수 있습니다 -Wno-error
. 오류로 처리하지 않으려는 경고의 이름은 -Wno-error=<warning name>
where 를 사용하여 처리 할 특정 경고를 만들 수 있습니다 <warning name>
.
모든 경고 를 완전히 비활성화 하려면 -w
(권장하지 않음)을 사용하십시오.
출처 : http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html
이 게시물에서-Werror
제안한대로 Make 또는 CMake 파일에서 제거
Linux 커널을 컴파일하는 경우. 예를 들어, "미사용이지만 설정 변수"라는 경고를 비활성화하려는 경우 오류로 처리됩니다. 문을 추가 할 수 있습니다.
KBUILD_CFLAGS += $(call cc-option,-Wno-error=unused-but-set-variable,)
Makefile에서
모든 유용한 제안에 감사드립니다. 마침내 내 코드에 경고가 없는지 확인했지만 다시 sqlite3에서이 경고를 받았습니다.
Assuming signed overflow does not occur when assuming that (X - c) <= X is always true
다음 CFLAG를 추가하여 수정했습니다.
-fno-strict-overflow
-Wall
그리고 -Werror
컴파일러 옵션은 사람들이 컴파일러 설정에서 사용하는 경우는, 확인하십시오 발생할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/11561261/how-to-compile-without-warnings-being-treat-as-errors
'program story' 카테고리의 다른 글
이미 구성된 객체에 대한 std :: move 대 emplace_back ()을 사용한 C ++ 11 push_back ()의 효율성 (0) | 2020.10.17 |
---|---|
ajax를 통해 제출할 때 왜 양식 태그를 사용합니까? (0) | 2020.10.17 |
변수 연산자가 가능합니까? (0) | 2020.10.16 |
클릭하면 부트 스트랩 드롭 다운이 닫힘 (0) | 2020.10.16 |
Leaflet과 Mapbox는 무엇이며 차이점은 무엇입니까? (0) | 2020.10.16 |