2013-08-14 1 views
0

NB : Qt 프로젝트 포럼에서 here (이 질문을 시도했지만 현재로서는 아무런 소용이 없습니다. 여기서 행운을 빌어 요.Qt 5 및 C++ 11 (qobjectdefs_impl.h는 컴파일되지 않습니다.)

저는 Ubuntu 13.04가 탑재 된 노트북에서 Qt 5.0.1을 사용하고 있으며, 컴파일러는 gcc 4.7.3입니다. Qt Creator 2.7.0을 사용하고 있습니다. C++ (11) 작업을하기 위해

, 단순히 프로젝트의 .PRO 파일에 다음 줄을 추가하면 트릭을 않는 것 같다 (또는 적어도 그것은을 해야하는) : 그러나

CONFIG += c++11 

, 내가 할 때, 컴파일시 qobjectdefs_impl.h 파일에 많은 오류가 발생합니다.

누구나이 문제를 해결하는 방법을 알고 계십니까? 미리 감사드립니다!

편집 : enter image description here

NB : 이미지에 link 그것을 여기 너무 작아 보인다면 당신은 (내가 #include <QColor>을 수행 할 때 분명히 오류가 발생) 오류 모양을 볼 수 있도록 여기에 스크린 샷입니다.

편집 : 원본에서 컴파일 한 gcc 4.8.1 및 Qt 5.1.2로 업그레이드 한 후에도 오류가 발생합니다.

+0

흠, 나는 당신이 대답을 얻지 못한다는 것을 이해할 수 있습니다. 방금 gcc 4.8 및 Qt 5.1.1을 사용하여 생성자를 위임하려고했습니다. 매력처럼 작동합니다. 그래서이 버그는 Qt 5.0.1의 버그입니다.이 버그는 이미 해결되었으므로 아무도 신경 쓰지 않거나 설정의 버그입니다. 이 경우 귀하를 도울 수 없습니다. – Greenflow

+0

gcc 4.8 및 Qt 5.1.1로 업그레이드 할 수 있으십니까? (나는 그것이 쉽기를 바란다). NB : 스크린 샷을 추가하여 오류의 모양을 볼 수 있습니다. – Seub

+0

보장하지 마십시오. 방금 작은 프로젝트를 시작하고 CONFIG + = C++ 11을 추가하고 위임자 생성자를 만들었습니다. 그것이 내가 할 수있는 전부였다. 적어도 우리는 gcc 4.8과 Qt 5.1.1로 업그레이드 할 때 여전히 문제가 있다는 것을 알고 있습니다. Qt 나 gcc가 아닙니다. Btw ... 나는 내 Qt를 직접 컴파일했다. C++ 11 플래그. 하지만이게 lib를 사용하는 프로그램에 차이가 있는지 모르겠다. – Greenflow

답변

1

예, 누군가 (JKSH)가 Qt 프로젝트 포럼 (here)에있는 문제점을 발견했습니다. 한마디로

: (complexstd::complex<double>에 대한 형식 정의 어디에) 문제는 내가 qobjectdefs_impl.h에 이름 충돌을 생성하는 곳 #define I complex(0.0, 1.0) 쓴 것이 었습니다. CONFIG = c + 11을 pro 파일에 쓰지 않는 한 어떤 문제도 일으키지 않는 이상한 (이유가있는) 이유가 있지만 그것을 작성한 후에는 문제가되지 않습니다.

많은 도움을 주신 JKSH와 Greenflow에게 감사드립니다.

편집 : 문제를 찾는 크레딧은 Qt Project Interest 메일 링리스트의 Thiago Macieira에게 보내야합니다 (의견 참조).

+1

가 공정하게 :.! 실제 분석은 [email protected] 메일 링리스트에 다른 사람에 의해 수행되었다 http://lists.qt-project.org/pipermail/interest/. 2013-August/008264.html –

+0

당신은 매우 옳았습니다. (JKSH가 Qt Project 스레드에서 말했습니다.) 그래서 훌륭한 팀 작업과 Thiago Macieira의 모자를 쓰고 감탄했습니다. – Seub

관련 문제