우선, 나는 "Getting Started: Building and Running Clang"을 따라갔습니다. 특히, "Visual Studio 사용"절에 따라 빌드했습니다. 즉, 내가는 MinGW 분포 라이브러리 경로를 포함하고 내가 수동으로, 그것은 둘째 Visual Studio 2010에서 Visual Studio 2010을Windows의 Clang
를 사용하여 한 내장 설정 한 :
I가 노력하고있어 간단한 프로그램 컴파일 :
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\iostream:39:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\ostream:39:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\ios:38:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\iosfwd:41:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\bits/postypes.h:41:
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:144:11: error: no member named 'fgetws' in the global namespace
using ::fgetws;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:146:11: error: no member named 'fputws' in the global namespace
using ::fputws;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:150:11: error: no member named 'getwc' in the global namespace
using ::getwc;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:151:11: error: no member named 'getwchar' in the global namespace
using ::getwchar;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:156:11: error: no member named 'putwc' in the global namespace
using ::putwc;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:157:11: error: no member named 'putwchar' in the global namespace
using ::putwchar;
~~^
6 errors generated.
Build error occurred, build is stopped
Time consumed: 646 ms.
012 : 나는 컴파일러에서 다음 피드백을 얻을
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
을
명백한 질문은 - 왜 이것을 얻습니까?
또한, 좀 더 자세한 내용을 알고 싶습니다, 그리고 이후는, 연타 웹 사이트는 매우 간단한 정보를 제공합니다 - 나는 누군가가 나에게 다음과 같은 질문에 명확 수 있다고 생각 : 지금까지 내가 연타하지 않는 이해
- 을 자체 표준 라이브러리 (stdC++가 맞습니까?)가 있습니다. 그래서 MinGW의 헤더와 라이브러리를 사용해야합니다. 맞습니까?
- Visual Studio와 MinGW를 함께 사용하여 Clang을 빌드하는 경우의 차이점은 무엇입니까?
clang/lib/Frontend/InitHeaderSearch.cpp
에 포함 경로를 하드 코드해야합니까, 아니면 건너 뛸 수 있으며 나중에 위의 스크린 샷 에서처럼 "-I"옵션을 통해 해당 경로를 지정해야합니까?
내가 과거에 작업 한 조합은 MinGW 포함 폴더에 대한 경로를 포함하도록 InitHeaderSearch.cpp를 수정 한 다음 MinGW 도구 체인으로 빌드하는 것입니다.또한 Visual C++ 툴체인을 사용하여 빌드 할 수 있었지만 빌드 된 컴파일러에서 MinGW 설치의 헤더와 라이브러리를 활용하는 방법을 알아낼 수 없었습니다 (Visual C++ C++ 표준 라이브러리 헤더는 Visual C++ 관련 기능에 광범위하게 의존하기 때문에 사용할 수 있습니다. –
그래, 그게 내가 정확히 생각한거야. 그러나 가장 큰 혼란은 Visual C++ 또는 MinGW를 사용하여 빌드하는 것이 Clang 컴파일러를 사용하는 동안 포함 된 라이브러리 경로 및 포함과 관련되는 것입니다. 즉, 나는 Clang을 편집 한 후에 이러한 경로를 자유롭게 선택할 수 있어야합니다. 왜 이러한 경로가 내가 Clang을 구축하는 데 사용했던 컴파일러에 의존할까요? –
@JamesMcNellis : Clang은 현재 VC++ 헤더를 구문 분석 할 수 있어야합니다. 유일하게 문제가되는 구문 분석 영역은 MFC IIRC입니다. – rubenvb