Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cpp文件未在clang+中编译+;和g++; 我已经在C++上工作了几年,已经编译了好几次了,但是下面的问题对我来说完全陌生,它没有意义。_C++_C++11_Encoding_Utf 8_Clang - Fatal编程技术网

cpp文件未在clang+中编译+;和g++; 我已经在C++上工作了几年,已经编译了好几次了,但是下面的问题对我来说完全陌生,它没有意义。

cpp文件未在clang+中编译+;和g++; 我已经在C++上工作了几年,已经编译了好几次了,但是下面的问题对我来说完全陌生,它没有意义。,c++,c++11,encoding,utf-8,clang,C++,C++11,Encoding,Utf 8,Clang,以下是我将遵循的步骤: 将cygwin安装程序与g++版本6.4.0和clang++版本4.0.1一起使用 创建了一个新的cpp fie,使用升华文本添加简单cout并编译 使用以下命令:clang++-g-Wall-std=c++14 thread1.cpp-o thread,工作正常 增加了新的内容,可能是另一个原因,这一次是在编译我 获取大量错误,说明其不是utf-8文件 使用utf-8编码以升华文本保存文件,并尝试 使用utf-8 BOM编码,仍然会得到相同的非utf-8文件错误 在c

以下是我将遵循的步骤:

  • 将cygwin安装程序与g++版本6.4.0和clang++版本4.0.1一起使用
  • 创建了一个新的cpp fie,使用升华文本添加简单cout并编译
    使用以下命令:clang++-g-Wall-std=c++14 thread1.cpp-o thread,工作正常
  • 增加了新的内容,可能是另一个原因,这一次是在编译我 获取大量错误,说明其不是utf-8文件
  • 使用utf-8编码以升华文本保存文件,并尝试 使用utf-8 BOM编码,仍然会得到相同的非utf-8文件错误
  • 在cygwin中运行file命令以检查文件编码file-i thread1.cpp,得到的输出为thread1.cpp:text/x-c;字符集=utf-8
这里有什么问题吗

以下是编译的代码:

#include "iostream"
#include "thread"
#include "mutex"
using namespace std;

class threadFunctor{
        public:

};
int main(int argc , char** argv){
   cout << "Hello";
   return 0;
}
#包括“iostream”
#包括“线程”
#包括“互斥”
使用名称空间std;
类线程函子{
公众:
};
int main(int argc,字符**argv){
你已经说过,通过做
#包括“线程”
(至少按照惯例)可以首先检查当前目录中的
线程
文件。问题是当前目录中有一个
线程
文件。这可能是您第一次编译时的可执行文件。错误明确表示为
/thread
,这一点很明显

您应该通过
#include
而不是
#include“thread”
包含所有标准标题-您永远不想先在其他地方搜索标准标题。

您已经说过,通过
#include“thread”
首先检查当前目录中的
线程
文件。问题是当前目录中有一个
线程
文件。这可能是您第一次编译时的可执行文件。错误明确表示为
/thread
,这一点很明显


您应该通过
#include
而不是
#include“thread”包含所有标准标题
-您永远不想先在其他地方搜索标准标题。

您添加了一个cout…将发出的字符串更改为a是否会产生任何影响?带有精确错误消息的实际值将非常有用。您添加了一个cout…将发出的字符串更改为a是否会产生任何影响?带有精确错误消息的实际值将非常有用。i u第一次也是sed“thread”,当它编译好的时候,只是第二次编译失败。@Arup这是因为第一次,你没有
thread
可执行文件,所以搜索当前目录不会产生任何结果,搜索继续包括路径。我使用了“thread”第一次编译也很好,只是第二次编译失败。@Arup这是因为第一次,您没有
线程
可执行文件,所以搜索当前目录时没有结果,搜索继续包括路径。
#include "iostream"
#include "thread"
#include "mutex"
using namespace std;

class threadFunctor{
        public:
};
int main(int argc , char** argv){
   cout << "Hello World";
   return 0;
}
./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>.