Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.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
C++ .gch和.pch预编译头之间有什么区别?_C++_Gcc_Clang_Precompiled Headers - Fatal编程技术网

C++ .gch和.pch预编译头之间有什么区别?

C++ .gch和.pch预编译头之间有什么区别?,c++,gcc,clang,precompiled-headers,C++,Gcc,Clang,Precompiled Headers,默认情况下,gcc生成.gch预编译头。但是,clang需要.pch头。在基于gcc的项目上运行scan build with clang时,我会因此而出错。这两种文件格式之间可能导致此问题的区别是什么?主要区别在于,由clang预编译的头仅与clang兼容,而由GCC预编译的头仅与GCC兼容。这是一个可能导致您的问题的差异 此外,预编译头仅与特定版本的编译器以及特定的编译选项集兼容。如果上述任何方面发生变化,则必须重新编译这些头。主要区别在于,由clang预编译的头仅与clang兼容,而由GC

默认情况下,gcc生成.gch预编译头。但是,clang需要.pch头。在基于gcc的项目上运行scan build with clang时,我会因此而出错。这两种文件格式之间可能导致此问题的区别是什么?

主要区别在于,由clang预编译的头仅与clang兼容,而由GCC预编译的头仅与GCC兼容。这是一个可能导致您的问题的差异


此外,预编译头仅与特定版本的编译器以及特定的编译选项集兼容。如果上述任何方面发生变化,则必须重新编译这些头。

主要区别在于,由clang预编译的头仅与clang兼容,而由GCC预编译的头仅与GCC兼容。这是一个可能导致您的问题的差异


此外,预编译头仅与特定版本的编译器以及特定的编译选项集兼容。如果上述任何方面发生变化,则必须重新编译这些头。

无论如何,您都不能混合使用编译器。不,但我想为cquery构建一个编译数据库,用于使用gcc进行编译的项目,从而生成gch头。这就是我的问题。我不是在尝试混合编译器。正如我上面所说的,我只想在项目上运行scan build。这并不是说你可以混合使用编译器。不,但是我想为cquery为一个使用gcc进行编译的项目构建一个编译数据库,从而生成gch头。这就是我的问题。我不是在尝试混合编译器。如上所述,我只想在项目上运行扫描生成。至于解决问题,我不确定,但我会尝试在运行扫描生成之前先删除所有gch文件。至于解决问题,我不确定,但我会尝试在运行扫描生成之前先删除所有gch文件。