私は数年前からC++で作業していましたが、何度かコンパイルしましたが、次の問題はまったく新しくて意味がありません。cppファイルがclang ++とg ++でコンパイルされていない
- グラムでcygwinのセットアップを使用して++バージョン:6.4.0と打ち鳴らす++バージョン:4.0.1
- は崇高なテキストは、単純なCOUTを追加し、使用して新しいCPPのFIEを作成
後、私は以下の午前手順は次のとおりです
を次のコマンドでコンパイルします。clang ++ -g -Wall -std = C++ 14 thread1.cpp -o threadはうまくいきます。 - 新しいコンテンツが追加されました。この時点では、コンパイル時に はutf-8ファイルではないとの大量のエラーが発生します。
- utf-8エンコーディングを使用して崇高なテキストでファイルを保存しましたが、utf-8 BOMエンコーディングで を試しましたが、まだutf-8ファイルエラーではありません。
- cygwinでfileコマンドを実行してファイルエンコーディングをチェックしました。ファイル-i thread1.cppがthread1.cppとして出力されました。text/x-c; charset = utf-8。
ここで間違っている可能性がある点を指摘してください。 、
./thread:3:29: error: source file is not valid UTF-8
$<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>PE<U+0000><U+0000>d<86><U+0014><U+0000><87><F5><CC>Y<U+0000><U+0014><U+0001><U+0000><A9><U+0002><U+0000><U+0000><F0><U+0000>'...
^
./thread:3:30: warning: null character ignored [-Wnull-character]
$<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>PE<U+0000><U+0000>d<86><U+0014><U+0000><87><F5><CC>Y<U+0000><U+0014><U+0001><U+0000><A9><U+0002><U+0000><U+0000><F0><U+0000>'...
^
./thread:3:31: warning: missing terminating ' character [-Winvalid-pp-token]
$<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>PE<U+0000><U+0000>d<86><U+0014><U+0000><87><F5><CC>Y<U+0000><U+0014><U+0001><U+0000><A9><U+0002><U+0000><U+0000><F0><U+0000>'...
^
./thread:4:3: warning: null character ignored [-Wnull-character]
5<U+0001><U+0000><U+0000><E8><B0><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><C4><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><C8><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><CC>...
^
./thread:4:4: warning: null character ignored [-Wnull-character]
5<U+0001><U+0000><U+0000><E8><B0><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><C4><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><C8><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><CC>...
^
./thread:4:5: error: source file is not valid UTF-8
5<U+0001><U+0000><U+0000><E8><B0><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><C4><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><C8><U+0001><U+0000><U+0000>E1<C0>1<D2>1<C9><E8><CC>.
あなたはcoutを追加しました...あなたが発行する文字列を['u8'リテラル]に変更しますか?(https://stackoverflow.com/questions/13444930/is-the-u8-string-literal-necessary-in -c11)何か違いはありますか? – StoryTeller
正確なエラーメッセージを含む実際の[mcve]が本当に役に立ちます。 – chris