Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.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
Makefile错误解释Fedora 22上英特尔引脚的gcc版本_C_Gcc_Makefile_Intel_Fedora - Fatal编程技术网

Makefile错误解释Fedora 22上英特尔引脚的gcc版本

Makefile错误解释Fedora 22上英特尔引脚的gcc版本,c,gcc,makefile,intel,fedora,C,Gcc,Makefile,Intel,Fedora,我刚刚在我的Fedora22机器上安装了Intel Pin,并尝试使用make在/source/tools中运行makefile。但是,当我运行它时,会多次出现以下两个错误: error: #error This kit requires gcc 3.4 or later error: #error The C++ ABI of your compiler does not match the ABI of the pin kit. 然而,我的gcc版本是 gcc version 5.1.1

我刚刚在我的Fedora22机器上安装了Intel Pin,并尝试使用
make
/source/tools
中运行makefile。但是,当我运行它时,会多次出现以下两个错误:

error: #error This kit requires gcc 3.4 or later
error: #error The C++ ABI of your compiler does not match the ABI of the pin kit.
然而,我的gcc版本是

gcc version 5.1.1 20150618 (Red Hat 5.1.1-4) (GCC) 
所以我对发生的事情有点困惑。如何修复此错误?

此错误:

可能是完全正确的,但我猜另一条错误消息做出了一个愚蠢的假设——任何ABI不匹配都是因为您的系统的ABI早于3.4。但是,这是双向的,现在,您有一个ABI不匹配,因为GCC5.1当然要更新得多

Fedora杂志的一些背景信息:

此错误:

可能是完全正确的,但我猜另一条错误消息做出了一个愚蠢的假设——任何ABI不匹配都是因为您的系统的ABI早于3.4。但是,这是双向的,现在,您有一个ABI不匹配,因为GCC5.1当然要更新得多


Fedora杂志的一些背景:

source/include/pin/compiler\u version\u check2.H
似乎对我起了作用:

#if !defined(__GXX_ABI_VERSION) || CC_USED_ABI_VERSION != __GXX_ABI_VERSION
#error The C++ ABI of your compiler does not match the ABI of the pin kit.
#endif


注释掉
source/include/pin/compiler\u version\u check2.H
似乎对我起了作用:

#if !defined(__GXX_ABI_VERSION) || CC_USED_ABI_VERSION != __GXX_ABI_VERSION
#error The C++ ABI of your compiler does not match the ABI of the pin kit.
#endif


我遇到了同样的问题。GCC 5.1引入了与GCC-3.4+不再兼容的新ABI。我建议您下载较新版本的pin,它可以很好地与较新版本的gcc进行编译

另一种解决方案是将宏_GLIBCXX_USE_cx11_ABI设置为0,以便编译器使用旧的ABI。在PIN目录下有一些Makefile配置,您可以在其中为PIN工具设置CXX标志

有关gcc的双ABI的更多信息:


在这里可以找到PIN的更新版本。最新版本于2016年3月24日发布

我遇到了同样的问题。GCC 5.1引入了与GCC-3.4+不再兼容的新ABI。我建议您下载较新版本的pin,它可以很好地与较新版本的gcc进行编译

另一种解决方案是将宏_GLIBCXX_USE_cx11_ABI设置为0,以便编译器使用旧的ABI。在PIN目录下有一些Makefile配置,您可以在其中为PIN工具设置CXX标志

有关gcc的双ABI的更多信息:


在这里可以找到PIN的更新版本。最新版本于2016年3月24日发布

我认为您需要发布makefile中失败的任何配置测试,以便任何人都能找到答案我认为您需要发布makefile中失败的任何配置测试,以便任何人都能找到答案
#if CC_USED_ABI_VERSION != __GXX_ABI_VERSION
#error This kit requires gcc 3.4 or later
#endif