我有一个运行c函数的matlab代码,它在我的计算机或我尝试运行它的任何其他桌面上运行良好 . (为了在其他桌面上运行它我复制了matlab / c函数和mex文件)
最近我试图在sge集群上运行代码,但我得到一个错误信息
“未定义的函数'img'用于'double'类型的输入参数”
“img”是matlab调用的c函数 .
有人遇到过同样的问题吗?有谁知道如何解决它?
10倍Elad
看起来你在笔记本电脑/台式机和SGE上有不同的操作系统 . 对于不同的体系结构,您需要重新编写代码 .
在你的sge上配置 mex
mex
>> mex -setup
我强烈建议使用 gcc . 现在你可以 mex 你的c代码了 . 请注意,mex文件的文件扩展名是windows / sge上的 different 以及32位和64位系统 .
gcc
如果你没有mex文件的正确扩展名(可以使用 mexext 命令检查),Matlab找不到要运行的函数,你会得到一个错误的错误 .
mexext
快乐的光明节 .
1 回答
看起来你在笔记本电脑/台式机和SGE上有不同的操作系统 . 对于不同的体系结构,您需要重新编写代码 .
在你的sge上配置
mex
我强烈建议使用
gcc
. 现在你可以mex
你的c代码了 . 请注意,mex文件的文件扩展名是windows / sge上的 different 以及32位和64位系统 .如果你没有mex文件的正确扩展名(可以使用
mexext
命令检查),Matlab找不到要运行的函数,你会得到一个错误的错误 .快乐的光明节 .