编译、链接均成功,但运行时提示"无法定位程序输入点_glutInitWithExit于动态链接库glut32.dll上。求高手解答?
LZ您好,这个可能是DLL版本的问题造成的,建议尝试不同版本的DLL文件看看效果。
具体的解决实例网上很多,这是个常见问题,您可以将报错信息直接用搜索引擎搜索得到这些实例。
祝您编码愉快~
如同楼上所说,可能你用的glut32.dll中的确无此函数。
我建议你使用freeglut, 网上有下载,开源,免费。
freeglut包含的freeglut.dll之类里是的确含有此函数导出的。
此外,再说一下,glut是不推荐用的,因为这个比较老,而且是有版权的软件。
而相反,freeglut是开源的免费软件,而且较新。(CUDA的例子里面用的就是freeglut而不是glut.)
建议楼主考虑下。
以及,在某个和cuda无关的库里面找不到某导出实际上不是一个CUDA问题,但是我们依然为您细心解答,希望能对您有所用。
请问把下载的freeglut文件放在哪个文件夹下?非常感谢您的解答。
在工程属性环境设置里面将头文件目录和lib目录指向freeGLUT所在文件夹,然后将DLL文件拷贝到system32目录下!
一般情况下,我推荐您将dll随着您的exe一起放置。
除非您知道您在做什么,否则不建议您将您的dll放到system32目录下。
如果您理解您在做什么,并知道这么做的可能的好处和坏处,那么您依然可以:
(1)当您使用32位版本的windows的时候,将32位版本的dll放入%windir%\system32下。
(2)当您使用64位版本的windows的时候,将64位版本的dll放入%windir%\system32\下。
(3)当您使用64位版本的windows的时候,将32位版本的dll放入%windir%\syswow64\下。
注意,请依然优先考虑dll和您的exe放置在同一个目录下。以及,上文讨论没有涉及side by side (winsxs)的特殊情况。