3

我现在正在我的 Mac 上安装代码。

代码来自这里。在此页面中查找“基准和边界检测代码”。

在自述文件中,它说:

(1) 要使 Dataset 目录中的图像和分割读取例程正常工作,请确保编辑 Dataset/bsdsRoot.m 以指向 BSDS 数据集的本地副本。

(2) 从此目录运行“gmake install”以构建所有内容。然后,您可能应该将 lib/matlab 目录放在您的 MATLAB 路径中。

(3) 阅读 Benchmark/README 文件。

第一步,我按照建议做了。对于第二步,我很困惑。我在 MATLAB 中运行命令gmake install,但是,我得到了:

gmake

Undefined function or variable 'gmake'.

实际上,在运行 MATLAB 之前,我通过 macports 安装了 gmake port。

我只是在终端中完成了它,但是,这就是我得到的......

hou229:segbench yaozhongsong$ cd /Users/yaozhongsong/Documents/MATLAB/segbench
hou229:segbench yaozhongsong$ sudo gmake install
gmake[1]: execvp: ../Util/gethosttype: Permission denied
gmake[1]: Entering directory `/Users/yaozhongsong/Documents/MATLAB/segbench/Util'
GNUmakefile-library:26: *** mexSuffix not defined.  Stop.
gmake[1]: Leaving directory `/Users/yaozhongsong/Documents/MATLAB/segbench/Util'
hou229:segbench yaozhongsong$

在 MATLAB 中,我也这样做了:

!gmake install
/bin/bash: gmake: command not found

如何在自述文件中执行第二步?

提前致谢!

@Amro

hou229:segbench yaozhongsong$ cd /Users/yaozhongsong/Documents/MATLAB/segbench
hou229:segbench yaozhongsong$ sudo gmake install
Password:
gmake[1]: execvp: ../Util/gethosttype: Permission denied
gmake[1]: Entering directory `/Users/yaozhongsong/Documents/MATLAB/segbench/Util'
mkdir -p ../lib/matlab
g++ -g -Wall -fPIC -I../include -O3 -DNOBLAS -c Exception.cc -o build//Exception.o
g++ -g -Wall -fPIC -I../include -O3 -DNOBLAS -c String.cc -o build//String.o
g++ -g -Wall -fPIC -I../include -O3 -DNOBLAS -c Random.cc -o build//Random.o
g++ -g -Wall -fPIC -I../include -O3 -DNOBLAS -c Timer.cc -o build//Timer.o
g++ -g -Wall -fPIC -I../include -O3 -DNOBLAS -c Matrix.cc -o build//Matrix.o
Matrix.cc:13:21: error: ieee754.h: No such file or directory
Matrix.cc: In function ‘double nextpow2(double)’:
Matrix.cc:86: error: ‘ieee754_double’ was not declared in this scope
Matrix.cc:86: error: expected `;' before ‘val’
Matrix.cc:87: error: ‘val’ was not declared in this scope
Matrix.cc:88: error: ‘IEEE754_DOUBLE_BIAS’ was not declared in this scope
Matrix.cc: At global scope:
Matrix.cc:48: warning: ‘snan’ defined but not used
Matrix.cc:49: warning: ‘inf’ defined but not used
gmake[1]: *** [build//Matrix.o] Error 1
gmake[1]: Leaving directory `/Users/yaozhongsong/Documents/MATLAB/segbench/Util'
4

2 回答 2

4

对于“mexSuffix not defined”错误,首先mexext在 MATLAB 中运行,获取该输出(我怀疑它是mexmaci64),编辑文件Util/GNUmakefile-library并在第 24 行添加以下内容:

mexSuffix := mexmaci64

将值替换为您从中获得的值mexext

注意:我没有测试过这些,我在 Windows 机器上..

于 2012-07-02T19:50:42.940 回答
0

您需要从终端(命令行)而不是在 MATLAB 中运行 gmake。

于 2012-07-02T19:38:21.187 回答