我的编程经验大约是1年的高中C / C ++经验,但几个月前我做了我的研究并用OpenCL编写了一个简单的程序。我能够使用g ++和--framework选项在Apple计算机上相对容易地编译和运行它。现在我在我的Ubuntu机器上,我不知道如何编译它。已经下载了正确的驱动程序以及ATI的Stream SDK(我有一台ATI Radeon HD5870)。任何帮助将不胜感激!
答案 0 :(得分:8)
尝试
locate libOpenCL.so
如果它位于其中一个标准目录(很可能是/ usr / lib或/ usr / local / lib)中,则需要将“--framework OpenCL”替换为“-lOpenCL”。如果g ++找不到lib,你可以通过添加“-L / path / to / library”告诉g ++查看特定的目录。
我希望我的Linux能够更有帮助...如果你重新下载ati-stream-sdk,提取它,打开终端并“cd / path / to / extracted / files”,这可能是最好的。在该目录中执行make && sudo make install
make
你可能从windows中知道这个,编译,无论需要编译什么&&
将命令链接在一起,只有第一个命令成功时才会执行以下命令sudo make install
这会将文件放在预期的位置(sudo执行具有超级用户权限的命令,您必须输入密码)希望有所帮助。
答案 1 :(得分:0)
您可能缺少动态链接器配置中的动态库。
搜索库的位置。最有可能是/ usr / lib,或/ usr / local / lib。
确保路径位置也配置在以下位置之一:
答案 2 :(得分:0)
除了@bjoernz,我的系统找不到libOpenCL.so
文件
这是因为缺少正确的文件目录
通过互联网搜索后,我发现libOpenCL.so
包可以提供ocl-icd-opencl-dev
文件
您只需输入cmd
即可安装上述软件包sudo apt update
sudo apt install ocl-icd-opencl-dev
因此,libOpenCL.so
可以在/usr/lib/x86_64-linux-gnu/
文件夹