답변:
또한 후손의 경우-Clang (예 : GCC)은 -x
입력 파일의 언어를 설정하는 스위치를 허용합니다 .
$ clang -x c++ some_random_file.txt
이 메일 링리스트 스레드의 차이점을 설명 clang
하고 clang++
잘 : 그 소리와 그 소리의 차이를 ++
clang.exe
한 다음 해당 실행 파일을 clang++.exe
. 따라서 동일한 실행 파일이며 런타임시 자체 이름을 확인하여 C 또는 C ++ 컴파일러로 동작할지 여부를 구분합니다. HTH.
-x c++
은 .h 파일을 C 대신 C ++를 포함하는 것으로 처리 -extra-arg
하도록 clang-tidy 로 지정하는 데 매우 유용했습니다 .
clang++
어떤 종류의 파일을 제공하는지 감지하고 사용 하는 것이 좋습니다. 프로젝트가 포함 할 수있는 경우 .cpp
파일, .ll
파일 (LLVM IR) 및 .o
, .a
, .so
타사 라이브러리에서 어떤없는 파일을 clang -x c++
그냥 발생합니다.
문제를 직접적으로 해결하는 답이없는 이유를 모르겠습니다. C ++ 프로그램을 컴파일하고자 할 때는 clang++
. 예를 들어 다음은 저에게 효과적입니다.
clang++ -Wall -std=c++11 test.cc -o test
제대로 컴파일 된 경우 실행 파일을 생성합니다 test
, 당신은 사용하여 파일을 실행할 수 있습니다 ./test
.
또는 clang++ test.cc
프로그램을 컴파일하는 데 사용할 수 있습니다 . 라는 기본 실행 파일이 생성됩니다 a.out
. ./a.out
파일을 실행하는 데 사용 합니다.
g ++에 익숙하다면 전체 프로세스는 g ++와 매우 유사합니다. 옵션에 어떤 경고가 포함되어 있는지 확인하려면 이 게시물 을 참조하십시오 -Wall
. 이 페이지 는 Clang에서 지원하는 진단 플래그 목록을 보여줍니다.
#include <iostream>
. -lstdc ++ 플래그가이 문제를 해결했습니다.