我尝试在 CentOs 6.3 中编译 ocl-icd2.1.3 但出现错误。
ocl_icd_loader.c:40: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
ocl_icd_loader.c:41: error: unknown option after '#pragma GCC diagnostic' kind
ocl_icd_loader.c:44: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
In file included from ocl_icd_loader.h:31,
from ocl_icd_loader.c:48:
ocl_icd.h:32: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
ocl_icd.h:33: error: unknown option after '#pragma GCC diagnostic' kind
ocl_icd.h:41: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
In file included from ocl_icd_loader.c:50:
ocl_icd_debug.h:29: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
ocl_icd_debug.h:30: error: unknown option after '#pragma GCC diagnostic' kind
ocl_icd_debug.h:35: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
In file included from ocl_icd_loader.c:50:
ocl_icd_debug.h:69: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
ocl_icd_debug.h:72: error: expected [error|warning|ignored] after '#pragma GCC diagnostic'
make[2]: *** [libOpenCL_la-ocl_icd_loader.lo] Error 1
make[2]: se sale del directorio `/home/juliancho/Descargas/ocl-icd-2.1.3'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/juliancho/Descargas/ocl-icd-2.1.3'
make: *** [all] Error 2
请帮助我。 非常感谢。
最佳答案
您的源代码包含如下行
#pragma GCC diagnostic push
这种编译指示是在 GCC 4.6 中引入的。您的 gcc 版本太旧,无法处理。
你可以:
- 升级您的 gcc
- 从 makefile 中删除
-Wunknown-pragmas
或等效内容 - 从 makefile 中删除
-Werror
或等效内容 - 从源中删除
#pragma GCC 诊断推送
、#pragma GCC 诊断弹出
但只有第一个选项是可靠的。
关于linux - 在CentOS 6.3中编译ocl-icd2.1.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24602626/