当我在64位Matlab中运行此代码时,它显示“此功能只能在MS Windows或Linux上运行”。

 % Call the binary executable
fpath = fileparts(which(mfilename));
if strncmp(computer,'PC',2) % MS Windows
  exec_str = ['"' fpath '/xcv_segment.exe"'];
elseif strcmp(computer,'GLNX86') % Linux
  exec_str = [fpath '/xcv_segment'];
else error('This function can run only with MS Windows or Linux');
end

因此,我尝试安装lib-32以便安装glnx86。

 sudo -i
    cd /etc/apt/sources.list.d
    echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
    apt-get update
    apt-get install ia32-libs

然后,我运行以下命令来安装32位Matlab: ./install -glnx86在完成此安装后,我将运行相同的代码。 但是,它继续显示相同的消息: 'This function can run only with MS Windows or Linux'.

===============>>#1 票数:0

computer功能可检查您正在运行的操作系统。 这不是与外部二进制文件(此时在代码中甚至没有被调用)或Matlab版本有关的错误。 这是if/elseif段,使您if/elseif继续前进。

在命令行运行computer ,您将看到输出与Matlab版本无关。

您可以通过将elseif更改为接受glxna64来更改该代码以接受64位linux,是否再运行外部二进制文件是另一回事。

===============>>#2 票数:0

对于64位linux计算机,matlab命令computer返回字符串'GLNXA64',并且您尝试与'GLNX86'进行比较。

您的错误与无法在64位Matlab中运行32位二进制文​​件无关,因为您的代码未达到尝试这样做的目的。 (ifs带您去错误)

===============>>#3 票数:-3

使用WINE之类的程序。 WINE帮助Windows可执行文件和dll库在Linux上工作。

  ask by michael scolfield translate from so

未解决问题?本站智能推荐: