Android Studio fatal error: CL/cl.h No such file or directory
Android Studio fatal error: CL/cl.h No such file or directory
我正在尝试在 Android Studio 中构建一个 openCL 程序并将 运行 保存到以下问题中:
Android Studio fatal error: CL/cl.h No such file or directory
我一直在寻找,一切都是 "visual studio" 的解决方案。
我认为如果我们有专门针对 Android Studio 和此错误列出的解决方案可能会有所帮助。
有什么解决办法吗?我从命令行看到引用 here 似乎是 运行 gcc。我希望它仅在 Android Studio 中工作。
OpenCL 不是 Android 的一部分,因此您找不到 cl.h。
从这里下载必要的 CL 头文件:https://www.khronos.org/registry/cl/
下载正确版本的 cl.h(与您使用的 CL 版本相同,例如 CL 1.1)。
在您的 OpenCL 程序中包含头文件,然后您就可以开始了。
2015 年 4 月 18 日编辑:
要包含 OpenCL 头文件,您可以执行以下操作:
#ifdef __APPLE__
#include <OpenCL/opencl.h>
#else
#include <CL/opencl.h>
#endif
但如果您的程序是纯 CL 代码(没有 CL-GL 互操作性),只需包含 CL/cl.h 也应该有效:
#include <CL/cl.h>
完成此操作后,您应该将包含 CL 文件夹的文件夹添加到您的 makefile 的包含路径中。 (以下假设PATH_TO_CL_FOLDER是你的CL文件夹)
对于那些使用Android.mk
的人
如果您使用 Application.mk 和 Android.mk,并使用传统的 ndk-build
方式构建您的本地库,您应该将 CL 目录的路径添加到 LOCAL_C_INCLUDES variable
在 Android.mk).
LOCAL_C_INCLUDES += PATH_TO_CL_FOLDER
对于那些在 Android Studio 中与 Gradle 一起工作的人(这就是您所需要的)
编辑 build.gradle,在 cFlags 字段中添加您的包含路径,如下所示:
android {
defaultConfig {
ndk {
moduleName "yourlib"
stl "stlport_static"
ldLibs "log", "z"
cFlags "-IPATH_TO_CL_FOLDER"
}
...
}
...
}
我正在尝试在 Android Studio 中构建一个 openCL 程序并将 运行 保存到以下问题中:
Android Studio fatal error: CL/cl.h No such file or directory
我一直在寻找,一切都是 "visual studio" 的解决方案。
我认为如果我们有专门针对 Android Studio 和此错误列出的解决方案可能会有所帮助。
有什么解决办法吗?我从命令行看到引用 here 似乎是 运行 gcc。我希望它仅在 Android Studio 中工作。
OpenCL 不是 Android 的一部分,因此您找不到 cl.h。 从这里下载必要的 CL 头文件:https://www.khronos.org/registry/cl/
下载正确版本的 cl.h(与您使用的 CL 版本相同,例如 CL 1.1)。
在您的 OpenCL 程序中包含头文件,然后您就可以开始了。
2015 年 4 月 18 日编辑:
要包含 OpenCL 头文件,您可以执行以下操作:
#ifdef __APPLE__
#include <OpenCL/opencl.h>
#else
#include <CL/opencl.h>
#endif
但如果您的程序是纯 CL 代码(没有 CL-GL 互操作性),只需包含 CL/cl.h 也应该有效:
#include <CL/cl.h>
完成此操作后,您应该将包含 CL 文件夹的文件夹添加到您的 makefile 的包含路径中。 (以下假设PATH_TO_CL_FOLDER是你的CL文件夹)
对于那些使用Android.mk
的人如果您使用 Application.mk 和 Android.mk,并使用传统的 ndk-build
方式构建您的本地库,您应该将 CL 目录的路径添加到 LOCAL_C_INCLUDES variable
在 Android.mk).
LOCAL_C_INCLUDES += PATH_TO_CL_FOLDER
对于那些在 Android Studio 中与 Gradle 一起工作的人(这就是您所需要的)
编辑 build.gradle,在 cFlags 字段中添加您的包含路径,如下所示:
android {
defaultConfig {
ndk {
moduleName "yourlib"
stl "stlport_static"
ldLibs "log", "z"
cFlags "-IPATH_TO_CL_FOLDER"
}
...
}
...
}