Windows 용 LLVM C ++ IDE


92

최신 Xcode와 마찬가지로 LLVM 컴파일러 (및 Clang C / C ++ 분석기)와 통합 된 Windows 용 C / C ++ IDE가 있습니까?

Dev-Cpp (오래된 GCC 사용)와 Code :: Blocks (일부 GCC 포함)가 있습니다. 그러나 GCC는 매우 비밀스러운 오류 메시지를 제공합니다. Clang 프런트 엔드에서 사용자 친화적 인 오류 메시지를 받고 싶습니다.

예, Clang은 복잡한 C ++ 코드와 함께 사용할 수 없었지만 트렁크 Clang은 이미 LLVM 자체를 컴파일 할 수 있습니다. 그래서 LLVM IDE가 개발 중인지 베타 버전인지 궁금합니다.

예, Clang을 GCC 호환 IDE와 함께 다른 컴파일러로 사용할 수 있습니다. 하지만 Clang 과 통합 된 IDE가 있습니까? Clang은 출력 형식이 다르므로 IDE에서이를 구문 분석해야합니다. Clang은 소스의 IDE 구문 분석을 제공 할 수 있습니다. Clang에는 IDE에서 지원되어야하는 분석 옵션이 있습니다. 예를 들어 http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html을 살펴보십시오.

그리고 Clang에서 가장 원하는 기능은 스마트 자동 완성 기능이므로 IDE는 구문이 정확한 변형 만 제안 할 수 있습니다 (예 :이 구조체, 클래스의 필드 만 나열).

결과 : (답변에서 병합 됨) :


3
앞으로 Emacs가 Clang을 지원하게 될지 궁금합니다. Btw 여기에 emacs 마이너 모드가 있습니다. llvm.org/svn/llvm-project/cfe/trunk/utils/… 내가 직접 테스트 하지는 않았지만.
ustun 2010-07-10

Code :: Blocks는 Clang에서 작동합니다.
James Harper

답변:


59

LLVM은 플러그인 ( llvm4eclipsecdt )을 통해 Eclipse CDT 에서 지원됩니다 . 내가 아는 한 LLVM지원 하는 유일한 Windows 지원 IDE 입니다. 나는 플러그인의 주요 작성자이므로 관련 질문을 할 수 있습니다.

플러그인은 Clang 및 llvm-gcc 컴파일을위한 기본 기능을 제공하고 Linux 및 Windows (Cygwin 및 MiNGW 포함)를 지원합니다. 어셈블러, 아카이버, 링커 및 정적 컴파일러 (llc)와 같은 LLVM 도구가 구성되고 UI를 통해 사용자 정의 할 수 있습니다. 플러그인은 쉬운 구성 및 한 번의 작업으로 빌드하는 등 IDE가 제공 할 수있는 모든 이점을 제공합니다.

유일한 단점은 Clang 분석 및 스마트 자동 완성과 같이 LLVM이 제공 할 수있는 일부 고급 기능이 부족하여 아직 준비되지 않았다는 것입니다. 플러그인도 잘 테스트되지 않았고 완벽하게 작동하지 않을 수 있으므로 Google 코드 개발 사이트 (아래에 나열 됨)에서 찾은 메일 링리스트를 통해 사용자 피드백을받을 수 있기를 바랍니다. 나는 그것을 더 발전시킬 시간이 있었으면 좋겠다. 나는 여가 시간에만 그것을 개발하는데, 이는 매우 제한적입니다. 모든 개발자가 프로젝트에 참여하고 기여하는 것을 환영합니다.

개발 사이트 :
http://code.google.com/p/llvm4eclipsecdt/
https://github.com/TuononenP/llvm4eclipsecdt

Eclipse 마켓 플레이스 (100 % 무료 및 오픈 소스) :
http://marketplace.eclipse.org/content/llvm-toolchain-eclipse-cdt

업데이트 : 플러그인은 더 이상 사용되지 않습니다. 대신 공식 Eclipse 업데이트 사이트 (예 : http://download.eclipse.org/releases/mars)를 사용하여 프로그래밍 언어 아래에 "C / C ++ LLVM-Family 컴파일러 빌드 지원"을 설치 하십시오.


안녕하세요. 여기서 만나서 반갑습니다! "MinGW 바이너리는 LLVM 및 프런트 엔드 용으로 제공됩니다."라고 말합니다. LLVM의 mingw 바이너리에 대한 링크를 추가 할 수 있습니까 (여기 또는 Google 코드 사이트에서)?
osgx

1
또한 블로그의 논문에 대해. clang은 ada 또는 fortran 용이 아닙니다. "Java, Fortran 및 Ada를 포함한 다른 언어의 경우 LLVM은 GCC에 계속 의존합니다."
osgx

2
여기에서 LLVM 2.9 용 mingw 바이너리를 얻을 수 있습니다. llvm.org/releases/download.html#2.9
Petri Tuononen

1
좋은 메모 : LLVM-GCC가 다른 언어를위한 것이 맞습니다. 특정 프론트 엔드가 언급되지 않은 상태에서 "LLVM 컴파일"을 작성 했어야했지만 초록에서 Fortran과 Ada를 제거하겠습니다.
Petri Tuononen

LLVM 컴파일러를 Microsoft VS와 통합 할 수도 있습니다. 다음은 llvm.org/docs/GettingStartedVS.html 링크 입니다 . 도움이 되었기를 바랍니다.
Krishna Oza 2014 년

21

LLVM 기여자 인 Dan Gohman은 최근 vim 에 Clang 코드 완성 기능을 추가했습니다 .

http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/vimrc 는 LLVM 자체 개발에 사용하기위한 것으로 LLVM 코딩 스타일에 도움이되지만 코드 완성 부분은 쉽게 추출 할 수 있어야합니다. .

예, 예, vim은 IDE가 아니지만 알고 있으면 유용 할 수 있습니다.

[편집] https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.elemacs에 유사한 옵션을 제공합니다 .


11

Qt Creator 는 Clang에서도 작동합니다.


감사합니다. 질문에 추가했습니다. 어떤 버전의 QTcreator에서 clang을 지원합니까?
osgx

1
2.4.1은 리눅스에서 할 수 있습니다. 수동으로 clang 도구 체인을 추가 할 필요가 없습니다. Windows를 사용하는 경우 도구 체인을 추가하는 방법은 다음과 같습니다. doc.qt.nokia.com/qtcreator-2.4/ 제작자 - 도구 - chains.html
Kokizzu

하지만 그것은 단지 자동 완성을 위해 그것을 사용하고 구문 분석
제임스 하퍼


5

Windows 용은 없습니다. 그러나 스마트 자동 완성을 원한다면 netbeans는 C ++를위한 최고의 코드 완성 중 하나입니다. 매크로, 일반 컨테이너 및 스마트 포인터를 구문 분석합니다. 또한 리팩토링, 생성자 및 getter 및 setter의 코드 삽입을 제공합니다. 정말 잘 작동합니다. 그러나 여전히 C ++에 대해 별도의 파서를 사용하기 때문에 컴파일러가 수행하는 것만 큼 많은 오류를 포착하지 못합니다.

Java 용 Netbeans는 컴파일러와 통합되어 있으므로 입력 할 때 오류와 경고를 제공하고 구문 적으로 올바른 코드 완성을 제공합니다. 따라서 netbeans는 향후 C ++에 동일한 종류의 기능을 제공하기 위해 clang과 통합 될 가능성이 높습니다.


2
netbeans는 소스를 어떻게 구문 분석합니까? 어떤 C / C ++ 프론트 엔드를 사용합니까?
osgx 2010

3
예 netbeans는 코드 완성을 위해 소스 자체를 구문 분석합니다. 아마도 미래에는 파싱에 clang을 사용할 것이지만 아직 통합되지 않았습니다. netbeans gcc 또는 clang에 대해 다른 컴파일러를 선택할 수 있습니다. 나는 아직 clang으로 시도하지 않았습니다.
Paul Fultz II



4

SublimeText 2를 추가해도됩니까? 이미 clang 기반 스마트 코드 완성을 지원 하는 플러그인 SublimeClang 이 있습니다.


플러그인 정보 : "C / C ++ / ObjC / ObjC ++에 대한 자동 완성 제안을 제공합니다. 또한 선택적으로 입력 된 코드를 구문 분석하고 오류 및 경고를 표시합니다."
osgx

단종
요한 보울

1
대신 Sublime 3 용 EasyClangComplete .
sunny moon


3

Clang에는 gcc를 직접 대체 할 수있는 드라이버가 있으므로 기본적으로 gcc를 컴파일러로 사용할 수있는 모든 IDE는 컴파일러로 clang을 사용할 수 있어야합니다 (개인적으로 테스트하지는 않았지만, 그래서 나는 그것이 얼마나 잘 작동하는지 실제로 보증 할 수 없습니다).


1
그러나 코드 분석 및 탭 완성과 같은 표준 도구 집합에 추가 된 기능은 사용할 수 없습니다.
Mooing Duck 2012 년

3

아니.

현재 xcode에만 최소한의 clang 지원이 있습니다. Windows에서 clang 정적 분석을 사용하려면 CLI를 통해 수행해야합니다.


6
이런 종류의 답변 / 질문에는 시간 제한이 있어야합니다. (메타 주제)
Hernán Eche 2010

Hernán Eche, 예,하지만 언제든지 수락 된 답변을 변경할 수 있습니다. 상황이 바뀌 었다고 느끼는지 물어
보시고

3

KDevelopWindows 용 은 또 다른 옵션입니다. 아직 초기 단계에 있지만 (현재 MSVC / MinGW 컴파일러를 직접 사용할 수 있도록 환경을 설정해야 함) 사용 가능하며 IDE의 멋진 코드 이해를 Windows에 제공합니다.

https://www.kdevelop.org/features


1

IDE는 아니지만 IDE와 일반 편집기 사이의 일종의 크로스 오버로, 구성 작성에 신경 쓰지 않는 사람들을위한 유용한 대안 : Sublime Text 3 편집기와 EasyClangComplete 플러그인 ( 코드를 깔끔하게 유지하기위한 Clang 형식 포함) 깔끔하게). LLVM MSVC와 호환되도록하는 최근의 노력 덕분에 Windows에서 잘 작동합니다 ( Clang-cl 은 디버깅에 중요한 2018 년 현재 호환되는 .PDB 를 생성 할 수도 있습니다 ).

업데이트 : 2019 년 현재 EasyClangComplete에 대한 훨씬 더 나은 미래 보장형 대안은 LSP 플러그인을 통해 Clangd 를 사용하는 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.