2016-07-30 5 views
2

64ビットWindows 10システムに64ビットバージョンのClang 3.8.1とMinGW-w64 5.1.0をインストールしたところ、インストールとパスが完全に正常に終了したコンフィギュレーション私が示されているコマンドラインで次のコードをコンパイルしようとしました:私が最初に彼らがにMinGW64ヘッダに設定して、その後、マイクロソフトVS2015ヘッダに設定パスをINCLUDE私でそれを試してみましたclang ++:標準ヘッダーファイルのエラー

clang++ -c test.cpp 

#include <iostream> 
int main() 
{ 
    std::cout << "Hello world!\n"; 
    return 0; 
} 

が、コンテンツのエラーがでした両方のケース(実際に見つかったヘッダーファイルに問題はありませんでしたが)。 VS2015の場合には、次の一般的であったのに対し

C:\mingw64\x86_64-w64-mingw32\include\stdio.h:179:86: error: expected ';' 
after top level declarator int __cdecl __mingw_sprintf (char * 
__restrict__ , const char * __restrict__ , ...) __MINGW_NOTHROW; 

:以下は、典型的なエラーであったにMinGW64の場合

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits:611:33: 
error: use of undeclared identifier 'char16_t' template<> class numeric_limits<char16_t> 

Iも-std = C +のそれぞれを試し+98から-std = C++ 14までのスイッチは違いはありませんでした。それぞれのヘッダーは、gccコンパイラとclコンパイラでうまく動作します。私が使用しているはずの他のいくつかのヘッダーがありますか?それは特にClang自身に合わせて作られたものですか、単に何か間違っていますか?

おかげで、固定レイ

+0

'-c'とは何ですか? –

+0

@VeniVidiViciコンパイルするだけで、リンクしないでください。 –

+0

男の子、私はg ++を使用している間、これに非常に似た問題に遭遇しました。私がしたことを正確に覚えていればいいと思う。私はちょうどC++ 11のタグを使ったと思いますが、ここでは該当しません。 –

答えて

0

私は戻ってLLVMの打ち鳴らす3.7.0(リリース候補3)に64ビットを行って、すべての問題は、MicrosoftとにMinGW64ヘッダファイルの両方で去っていきました。それはバージョン3.8.1のように後退している必要があります!

+0

これはclang 3.8.1の欠陥ではありません。私は現在mingw-w64 6.1.0でビルドされたclang 3.8.1を自分でWin10で使用していますが、すべて正常に動作します。 – Carousel

+0

@カルーセル私は、私には答えがなく、明らかに他の問題がなければならないことを自認しています。私が知っているのは、3.7.0と3.8.1のインストールの間を行き来することができ、3.7.1は常に動作し、3.8.1は常にヘッダの内容エラーを与えるということです。 – BenevolentDeity

関連する問題