2012-11-15 4 views
1

Mingw 및 C++ 프로그래밍을 처음 사용합니다. C++ 프로젝트를 만들려고하는데 다음과 같은 오류가 발생합니다.mingw에서 예외 처리를 활성화하는 방법

error: exception handling disabled, use -fexceptions to enable.

여기서 -fexceptions 매개 변수를 전달해야합니다. 노력하고있을 때

mingw32-make -fexceptions

나는 다음과 같은 오류가 발생합니다.

mingw32-make: exceptions: No such file or directory

+2

makefile의'CXXFLAGS'에'-fexceptions'을 명령 줄 인수로 전달하지 말아야합니까? – Praetorian

+0

사실, QT 프로젝트와 make 파일은 qmake를 사용하여 생성되었습니다. 그래서 생성 된 make 파일을 수정해야합니까? – Vinod

답변

3

당신은 Qt는을 사용하고 있기 때문에, 당신의 프로젝트 파일의 CONFIG 변수합니다 (* .PRO 파일)에 "예외"를 추가 :

CONFIG += exceptions 

이 올바른 컴파일러 플래그를 전달하는주의를 기울여야한다.

어떤 경우에도 생성 된 Makefile을 수정하지 마십시오. Qt의 qmake를 사용하면 Makefile은 자동 생성 된 파일 일뿐입니다.

+0

고마워, 효과가 있었다. – Vinod

4

명령 줄에서 ++ 직선 g를 사용하는 경우, 당신이해야 :

g++ -fexceptions ...rest of command... 

당신이 메이크를 사용하는 경우, CXXFLAGS에 추가 (다음 그냥 평소와 같이 make 빌드) : -f이 사용하는 파일을 지정 make에 대한 옵션이기 때문에

# in your Makefile 
CXXFLAGS := -fexceptions 
...rest of your makefile... 

는 "해당 파일 또는 디렉토리"를 얻을 이유 오류는, 그래서 때 당신에게 우선권 -fexceptions에서 make까지 "-f"은 다음 파일 "exceptions"을 사용하려고 함을 의미합니다. "예외"라는 파일을 찾은 다음 오류가 발견되면 오류가 발생합니다. 그 이름으로 파일.

Makefile에있는 CXXFLAGS 변수가 플래그/옵션으로 컴파일러에 전달되어 다른 컴파일러 플래그 (예 : -fexceptions)를 사용해야합니다.

: qmake을 사용하는 경우 CONFIG += exceptions을 프로젝트 파일에 추가해보십시오.

관련 문제