3

我有一个运行 c++ 函数的 matlab 代码,它在我的计算机或我尝试运行它的任何其他桌面上运行良好。(为了在其他桌面上运行它,我复制了 matlab/c++ 函数和 mex 文件)

最近我尝试在 sge 集群上运行代码,但出现错误消息

“'double'类型的输入参数的未定义函数'img'”

“img”是matlab调用的c++函数。

有没有人遇到同样的问题?有谁知道如何解决它?

10x 埃拉德

4

1 回答 1

1

似乎您在笔记本电脑/台式机和 SGE 上有不同的操作系统。对于不同的架构,您需要重新mex编写您的 c++ 代码。

mex在您的 sge 上配置

>> mex -setup

我强烈建议使用gcc. 现在您可以使用mex您的 C++ 代码了。请注意,mex 文件的文件扩展名在 windows/sge 以及 32 位和 64 位系统上是不同的。

如果你没有正确的 mex 文件扩展名(可以使用mexext命令检查)Matlab 找不到要运行的函数,你会得到一个与你得到的内容相似的错误。

光明节快乐。

于 2012-12-13T17:13:35.803 回答