Windows – 在Mingw Nvidia SDK上编译OpenCL
|
是否可以使用Mingw和Nvidia SDK编译OpenCL? 我知道它没有正式的支持,但这根本没有意义.图书馆不是作为静态链接库提供的?我的意思是一旦编译了任何编译器可能是,并成功链接,应该是什么问题? 我设法编译并成功将我的代码链接到Nvidia SDK提供的OpenCL库,但是可执行文件会在clGetPlatformIDs中抛出Segmentation Fault,这是我的代码中的第一个OpenCL调用. 这是我的编译命令 x86_64-w64-mingw32-g++ -std=c++11 File.cpp -L"C:Program FilesNVIDIA GPU Computing ToolkitCUDAv5.0libx64" -I"C:Program FilesNVIDIA GPU Computing ToolkitCUDAv5.0include" -gcoff -lOpenCL -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -luser32 -lgdi32 -lmingwex -m64 -DWIN32 -D_DEBUG -D_CONSOLE 请注意,这些库是从示例OpenCL代码的.sln文件中获取的. 我尝试了这些图书馆的各种组合,似乎没有任何工作. 还有一种使用Mingw编译的方法,并使用别的链接进行链接?我不知道还有什么可能的. 我们已经能够使用MinGW reimp和dlltool实用程序来为“OpenCL.dll”DLL创建一个导入库“libOpenCL.a”.以下是我们遵循的步骤:>步骤1:确保你安装了mingw-utils(用于reimp和dlltool).如果没有,请在MinGW提示符下键入: mingw-get install mingw-utils reimp OpenCL.lib 这应该产生一个OpenCL.def和libOpenCL.a文件.如果结果符合“无效或损坏的导入库”的要求,替代步骤2应该起作用. >替代步骤2:将dlltool与.def文件一起使用,您可以在这里找到:http://pastebin.com/f2ac38b2f.命令变成: dlltool -l libOpenCL.a -d OpenCL.def -A -k 您现在可以链接到新创建的libOpenCL.a.如果仍然看到缺少的符号,请将它们添加到.def文件中并重复执行dlltool命令. 我们能够得到这一切工作,感谢以下帖子中的信息,供参考: > http://oscarbg.blogspot.com/2009/12/opencl-with-mingw.html (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 伯克利开源 Confluo,吞吐量是 Kafka 的 4 到 10 倍
- 一文梳理 RedHat 和 CentOS 运维中的网络知识
- exchange-2010 – 无法从O365共享日历忙/闲信息到外部联盟域
- Debian 10(Buster)安装后要做的前8件事
- windows10截图保存在哪儿windows10截图保存部位详细介绍
- 如何在Linux中删除文本中的回车字符
- 在Server 2012 Core中使用Powershell解压缩文件
- Windows事件查看器在较新版本的Windows上运行缓慢
- windows-server-2008-r2 – Windows Server的就地升级(更新
- windows – 退出域控制器的最佳实践,该域控制器也是DNS服务

