gpt4 book ai didi

c++ - 无法在动态链接库中找到过程入口点 clCreateCommandQueueWithProperties

转载 作者:行者123 更新时间:2023-11-30 03:43:41 32 4
gpt4 key购买 nike

我一直在尝试让 OpenCL 与 visual studio 一起工作。

我关注了this配置指南 AMD OpenCL SDK.

这是我的简短示例程序

#include "stdafx.h"
#include <CL/cl.h>
#include <stdio.h>
#include <iostream>

using namespace std;

const char *source =
"__kernel void memset( __global uint *dst ) \n"
"{ \n"
" dst[get_global_id(0)] = get_global_id(0); \n"
"} \n";

int main()
{
cl_platform_id platform;

clGetPlatformIDs(1, &platform, NULL);

cl_device_id device;

clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU, 1, &device, NULL);

cl_context context = clCreateContext
(
NULL,
1,
&device,
NULL,
NULL,
NULL
);


cl_command_queue queue = clCreateCommandQueueWithProperties
(
context,
device,
0,
NULL
);


return 0;

}

但是当我运行它时,我得到了这个运行时错误

The procedure entry point clCreateCommandQueueWithProperties could not be located in the dynamic link library

Error

我使用 dll export viewer 查看了 dll并且该函数确实出现在 OpenCL.dll 中。

DLL

编辑

我认为 Mats Petersson 是对的我在我的 PC 上进行了文件搜索并找到了多个 OpenCL.dll 文件

我不确定如何以合理的方式解决这个问题......

openCLs

编辑

这里可能还值得注意的是,当我删除对 clCreateCommandQueueWithProperties 的调用时,程序运行良好。

最佳答案

我的一些 friend 建议将 OpenCL.DLL 文件复制到我的项目目录中。

这很有效。

我的程序一定是加载了错误的 dll 文件。

关于c++ - 无法在动态链接库中找到过程入口点 clCreateCommandQueueWithProperties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35981699/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com