2014-09-11 1 views
0

-Werror=pointer-to-int-cast-Werror=address Linux에서 오류 종류를 표시하지 않으려면 어떻게합니까?-Werror = int-cast에 포인터 지정 및 -Werror = 주소 오류 종류 : Linux에서

위의 오류를 억제하는 데 사용할 수있는 옵션은 다음과 같습니다.

-Wno-error=address 
-Wno-pointer-to-int-cast 

하지만 제 질문은 어떻게 사용할지 또는 대형 프로젝트를 구축 할 때 컴파일러 설정을 편집하는 방법입니다.

+3

는 당신이 IDE를 사용하고 있습니까? 그렇다면 어느 것입니까? – braindf

+6

오류를 무시하는 대신 오류를 수정하는 것이 더 좋지 않습니까? (당신이하고있는 일을 알고 있고 정말로 좋은 이유가 없다면) – Kninnug

+1

IDE, makefile 등에서 컴파일러를 호출하는 방법을 알려 주어야합니다. – Jack

답변

1

표준 Makefile 빌드 시스템을 사용하는 경우 CFLAGS에 넣으십시오.

그것이 autoconf를 프로젝트의 경우이 같은 Makefile.am에 넣어 :

= -Wno 오류 = 주소가 -Wno 포인터 - 투 - INT 캐스트

을 사용하는 경우 CFLAGS .c 파일을 .o로 컴파일 할 때 gcc 명령 행으로 전달되어야합니다.

이 autoconf를 사용하는 기존 패키지의 경우,이 같은 ./configure 아마 그것을 전달할 수 있습니다

$ ./configure를 --extra-CFLAGS = '- Wno 오류 = 주소 -Wno - 포인터 타입 에-INT 캐스트 '

다른 autoconf를 기반 프로젝트가 아닌 환경에서 그것을 가지고 (또는 추가하여) --extra-CFLAGS :

$ CFLAGS ='- Wno 오류 = 주소 -Wno- ./configure --any-other-options-you-need

1

gcc를 사용하는 경우에는 다음을 고려하십시오. R 다음

  1. 당신은 단순히 사용하여 프로그램을 컴파일 할 수
    의 gcc -o OBJ src_file

    src_file : *

  2. 이 .c ("이 .c"확장자를 가진 파일 이름)

    그런 다음, 메이크를 사용하는 경우

    #SRC는 #OBJ가 오브젝트 파일
    을 의미
    소스 파일을 의미합니다3210 SRC = file.c
    OBJ = 파일
    CFLAGS = -Wall #은 -Werror 플래그를 포함하지 않습니다. 그렇지 않으면 경고가
    #이 오류로 처리됩니다.
    $ (OBJ) : $ (SRC)
    GCC의 $ (CFLAGS) -o $ (OBJ) $ (SRC)

관련 문제