'double' 类型的输入参数的未定义函数
Undefined function for input arguments of type 'double'
我从这里 http://cazencott.info/dotclear/public/code/scones.zip 下载了 MATLAB 代码。当我 运行 'demo' 时,它显示 "Undefined function 'maxflowmex' for input arguments of type 'double'"。事实上,文件夹中只有一个 c++ 文件 "maxflowmex.cpp"(已添加到路径中)。它是否需要 "maxflowmex.m" 而不是 "maxflowmex.cpp" 到 运行 正确?或者其他一些调用"maxflowmex.cpp"的方法?或者我需要编译一些东西?
我刚刚查看了 zip 文件。 maxflow
目录中有 MEX 包装器,它们是在 MATLAB 调用这些用 C 编写的函数的地方编写的,但在 MATLAB 中 运行nable。在您 运行 它们之前,需要使用与您的操作系统兼容的编译器来编译这些 MEX 包装器。
然而,有预编译的二进制文件,但我只看到 Linux 和 Mac OS 的 64 位二进制文件,而我没有看到 Windows二进制文件。因为您不能 运行 它们,所以您很可能 运行 正在使用 32 位 操作系统或 Windows。我怀疑您是 运行ning Windows 或 32 位 Linux,因为 Mac OS 默认以 64 位出厂。
您需要 make.m
脚本 运行 以便您可以为您的机器编译 maxflow
库。编译库后,运行ning demo.m
应该会成功。
在执行此操作之前,您需要确保通过在命令 window 中执行 mex -setup
来设置 mex
,然后选择正确的编译器。执行此操作后,maxflow
目录中的 运行 make.m
。
如果您没有编译器,如果您使用 Linux,对 gcc
包执行 apt-get
应该就足够了,所以:
sudo apt-get update
sudo apt-get install gcc-4.6-base g++-4.6 cpp-4.6 libgomp1 libquadmath0 libc6-dev
如果您使用的是 Windows,那么您需要的受支持编译器将取决于您使用的 MATLAB 版本。我假设您使用的是最新版本,因此下载最新版本的 Visual Studio Express 以及 SDK 应该就足够了。
我从这里 http://cazencott.info/dotclear/public/code/scones.zip 下载了 MATLAB 代码。当我 运行 'demo' 时,它显示 "Undefined function 'maxflowmex' for input arguments of type 'double'"。事实上,文件夹中只有一个 c++ 文件 "maxflowmex.cpp"(已添加到路径中)。它是否需要 "maxflowmex.m" 而不是 "maxflowmex.cpp" 到 运行 正确?或者其他一些调用"maxflowmex.cpp"的方法?或者我需要编译一些东西?
我刚刚查看了 zip 文件。 maxflow
目录中有 MEX 包装器,它们是在 MATLAB 调用这些用 C 编写的函数的地方编写的,但在 MATLAB 中 运行nable。在您 运行 它们之前,需要使用与您的操作系统兼容的编译器来编译这些 MEX 包装器。
然而,有预编译的二进制文件,但我只看到 Linux 和 Mac OS 的 64 位二进制文件,而我没有看到 Windows二进制文件。因为您不能 运行 它们,所以您很可能 运行 正在使用 32 位 操作系统或 Windows。我怀疑您是 运行ning Windows 或 32 位 Linux,因为 Mac OS 默认以 64 位出厂。
您需要 make.m
脚本 运行 以便您可以为您的机器编译 maxflow
库。编译库后,运行ning demo.m
应该会成功。
在执行此操作之前,您需要确保通过在命令 window 中执行 mex -setup
来设置 mex
,然后选择正确的编译器。执行此操作后,maxflow
目录中的 运行 make.m
。
如果您没有编译器,如果您使用 Linux,对 gcc
包执行 apt-get
应该就足够了,所以:
sudo apt-get update
sudo apt-get install gcc-4.6-base g++-4.6 cpp-4.6 libgomp1 libquadmath0 libc6-dev
如果您使用的是 Windows,那么您需要的受支持编译器将取决于您使用的 MATLAB 版本。我假设您使用的是最新版本,因此下载最新版本的 Visual Studio Express 以及 SDK 应该就足够了。