Clang 我遇到了以下错误消息:';regparm';在此平台上无效

Clang 我遇到了以下错误消息:';regparm';在此平台上无效,clang,llvm,Clang,Llvm,我的构建和主机平台是X86_64和suse Linux。我的目标平台是armlinux-gnueabi。 我使用3.6.0版本的clang编译源代码。编译器使用-target=arm-linux-gnueabi运行 我未能获得以下信息 /usr/include/pthread.h:655:6: error: 'regparm' is not valid on this platform __cleanup_fct_attribute; ^~~~~~~~~~~~~~~~~~~~

我的构建和主机平台是X86_64和suse Linux。我的目标平台是armlinux-gnueabi。 我使用3.6.0版本的clang编译源代码。编译器使用-target=arm-linux-gnueabi运行 我未能获得以下信息

/usr/include/pthread.h:655:6: error: 'regparm' is not valid on this platform
     __cleanup_fct_attribute;
     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bits/pthreadtypes.h:222:50: note: expanded from macro '__cleanup_fct_attribute'
# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
                                                 ^            ~

什么问题?

你的问题是什么regparm'是仅x86的属性,所以这里的编译器是正确的,您的代码是错误的。很可能您没有为目标平台使用正确的标题。

谢谢。你是对的。我编译了一些可以用gcc编译的代码。当编译器切换到clang时,clang无法搜索gcc隐式搜索的某些路径。这就是为什么会发生这种情况……你是怎么解决的?