2013-07-27 5 views
2

OSX Mountain Lion에서 Eclipse Juno를 사용하고 있으며 C++ 11 전용 기능인 std :: regex를 사용하려고했습니다. 내가 #include <regex> 일 때 IDE가 존재하지 않는다고 말합니다. 어쩌면 regex.h 헤더가/usr/include /에 존재한다는 것에 주목할 필요가 있습니다. 비록/usr/lib/또는/usr/local/lib /에 특정 라이브러리가 없지만, 관련된. 이것은 흥미로운 부분 프로젝트 일 뿐이므로 사용자 정의 빌드 시스템을 사용하지 않고 이클립스에서 일반적인 C++ 프로젝트 만 사용하고 있습니다.Eclipse가 Mac OSX에서 regex를 찾을 수없는 이유는 무엇입니까?

특히 Eclipse와 같은 IDE가이를 구동 할 때 빌드 프로세스 (경로, 라이브러리 등 포함 설정 제외)를 수정하는 데 경험이 많지는 않지만 실제로는 컴파일러와 링커 (GCC G ++)은 C++ 11 용으로 구성되어 있지 않습니다. SO 및 Eclipse 포럼에서 -std = C++ 11을 추가하는 것과 같은 다양한 권장 사항을 시도했지만, 출력이 계속해서 인식되지 않는다고 계속보고 있습니다. 인수.

나는 누군가가이 문제를 다룰 것이라고 확신합니다. 누구든지 도와 줄 수 있습니까? 미리 감사드립니다. Mac에서

+0

내 대답이 도움이 되었습니까? 잠시 동안 같은 문제가 있습니다. – aaronman

답변

2

당신은 플래그를 사용해야합니다 :
-stdlib=libc++
을, 심지어 그때는 그냥 엑스 코드 업데이트를 사용하고있는 경우 일반적으로 단지 그 소리가, (그래서 대신 GCC의 연타를 사용) 충분한 업데이트됩니다 생각합니다. 또한 컴파일러 이클립스가 사용하고 있다고 생각하기 때문에 Xcode 명령 행 도구가 업데이트되었는지 확인해야합니다.

+0

안녕하세요, 답변을 빨리 확인하지 못해 죄송합니다. 나는 Xcode의 일반 사용자는 아니지만 원래 다른 프로젝트를 빌드하기 위해 gcc를 설치하는 데 사용되었습니다. 내가 확인하고 명령 줄 도구는 최신 버전입니다. gcc 대신 clang을 사용하는 경우 Eclipse에서 변경하는 방법을 확신 할 수 없습니다 (툴체인 편집기는 clang을 표시하지 않습니다). clang은 gcc와 호환되므로, Eclipse가 clang 대신 gcc를 사용한다고 생각한다고 가정했습니다. 지금은 부분 문자열을 사용하는 정규식에 대한 필요성이 생겼습니다. 그러나 앞으로는 이것이 도움이 될 것입니다. –

+0

@JoeyCarson 그냥 gcc의 정규식 구현이 작동하지 않는다는 것을 기억하십시오. u 업데이트가되어 있다면 clang을 사용하는 방법을 알아낼 수 없습니다. – aaronman

+0

/usr/bin의 gcc 설치가 실제로 gcc 4.2 인 것으로 나타났습니다. 문서에 따르면 cpp 11 또는 실험적 지원을 지원하지 않습니다. 나는 bcc를 사용하여 gcc 4.7을 설치했지만, 이제는 두 개의 gcc 설치가있는 것처럼 보입니다. –