零基础学习OpenCL(2)-Qt运行OpenCL的HelloWorld例程

接着上节的说,既然已经跑通了人家给的例程,那就在我的Qt下再试试,看看会有什么问题出现。

首先在Qt下建立一个纯C++的工程,然后把例程HelloWorld文件夹里的HelloWorld.cpp的内容完全拷贝过来。因为工程要用到OpenCL,所以要配置OpenCL库的路径

打开MyfirstOpenCL.pro,添加:

INCLUDEPATH+=/opt/AMDAPPSDK-3.0/include/

LIBS+=/opt/AMDAPPSDK-3.0/lib/x86_64/sdk/libOpenCL.so  (或者LIBS+=-L/opt/AMDAPPSDK-3.0/lib/x86_64/sdk/   -lOpenCL)

保存,编译通过,但是一运行就报错:

error while loading shared libraries:libOpenCL.so.1:cannot open shared object file:No such file or directory

这个错误我之前在linux下,运行例程时候也遇到过,解决办法是重新source /etc/profile即可。这么看的话,编译能通过,说明就能找到库,但是运行时候说找不到,那就是我的Qt的自动搜索的LD_LIBRARY_PATH不正确。可是我明明已经在/etc/profile里配置了呀,也source了,无奈之下,关机重新启动。

编译MyfirstOpenCL程序,运行通过,输出结果:

No GPU devide availabel.

Choose CPU as default device.

Error:failed to open file

:HelloWorld_kernel.cl

input string:

GdkknVnqkc


output string:


passed!

按<RETURN>来关闭窗口...

查看程序,原来在第5步时候用到了HelloWorld_Kernel.cl文件,而且路径是当前路径,所以把HelloWorld_Kernel.cl文件拷贝到build-MyfirstOpenCL-Desktop-Qt_5_4_2_GCC_64bit_Debug文件里。或者随便把它拷贝到一个文件里,然后更改使用路径就行了。

继续编译,通过,打印结果:

No GPU devide availabel.

Choose CPU as default device.

input string:

GdkknVnqkc


output string:

HelloWorld

passed!

按<RETURN>来关闭窗口...

成功!

ps:系统这个东西有事时候就是这么奇怪!


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值