apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "es.um.mompes.testopencl"
minSdkVersion 22
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags "-std=c++11 -fexceptions -I${projectDir}/src/main/jni"
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
productFlavors {
arm8 {
ndk {
abiFilter "arm64-v8a"
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
#include <jni.h>
#include <string>
#include <CL/cl.h>
extern "C"
JNIEXPORT jstring JNICALL
Java_es_um_mompes_testopencl_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello from C++";
cl_int err;
// Find the number of OpenCL platforms
cl_uint num_platforms;
err = clGetPlatformIDs(0, NULL, &num_platforms);
return env->NewStringUTF(hello.c_str());
}
但是,我一定遗漏了什么,因为在构建项目时,我得到了一个关于OpenCL函数的未定义引用错误。这是完整的错误:任务“:App:ExternalNativeBuildArm8Debug”执行失败。
你知道我错过了什么吗?在过去的两天里,我搜索了几个小时关于如何在Android Studio中设置OpenCL的问题,但我找到的所有东西似乎都过时了,似乎对我的问题不起作用。
在jni
文件夹下查找Android.mk。然后加上这个:
LOCAL_PATH := $(call my-dir) // should already be there
.
.
LOCAL_LDLIBS := $(LOCAL_PATH)/libOpenCL.so
这个示例从jni根获取libopencl.so,但是您可以根据需要更改它。
参考:在Android上开始使用OpenCL
我有3个类,native-lib.cpp、tracker.cpp和tracker.hpp,但是,在构建过程中,如果我在navive-lib.cpp中使用tracker.cpp中的isTracking函数,我会得到一个错误。 > 错误:任务“:app:ExternalNativeBuildDebug”执行失败。 生成命令失败。执行进程/home/user/android/sdk/cmake/3.6.
问题内容: 我正在使用Linux,并且具有以下文件: 该函数在中声明和定义。我需要在中使用该函数,因此我将该函数声明为 在。 但是,在编译过程中,我得到了错误 怎么了? 谢谢。 预计到达时间:多亏了我收到的答案,我现在有了以下内容: 在fileA.h中,我有 在fileA.c中,我有 在fileB.h中,我有 在fileB.cpp中,我有 但是,我现在有错误 问题答案: 如果您确实是使用C而不是C
问题内容: 当我要实现Authorize.net付款网关时。但是,我收到此错误: 调用未定义的函数curl_init() 请让我知道其中有什么问题。 问题答案: 如果您使用的是Windows: 转到您的php.ini文件,并从以下行的开头删除标记: 保存文件后, 必须 重新启动HTTP服务器软件(例如Apache),然后才能生效。 对于Ubuntu 13.0及更高版本,只需使用已解包的软件包。在终
问题内容: 我刚刚将脚本切换到其他服务器。在以前的服务器上,它可以完美地工作,现在,我将它们切换到其他服务器上,我无法理解问题。 我不确定是否有帮助,但这是相关的代码。 PHP版本是:PHP 5.3.2 问题答案: 从文档开始,在PHP 5.4.0发行之前: 仅当PHP作为Apache模块安装时才支持此功能。 PHP 5.4.0和更高版本无条件支持此功能。 所述文档还包括替换功能,这些功能通过逐步
我正在OSX El Capitan和Apache服务器上运行最新版本的PHP(目前为5.6.22)。 我正在尝试使用PostgreSQL数据库,实际上,昨天已经成功了,但在我重写了httpd之后。conf文件和默认文件(我想这就是问题所在)我收到了以下消息: 调用中未定义的函数pg_connect()。。。 问题是我没有改变php。ini文件。如果我运行phpinfo();我得到了etc/php。
我目前正在写一个WoodPress插件,它可以与WooCommerce一起工作。我查询WooCommerce订单,目标是使用来自荷兰route planner服务的API,使用这些订单的地址来规划配送路线。 为我编写PHP已经有一段时间了,我最后一次编写PHP是在7年前,所以我的PHP技能有些生疏。 查询订单后,我想调用函数routexl_generate(),该函数在我的代码中定义。但是,运行此