首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不安装Octave的情况下创建一个简单的Octave发行版

如何在不安装Octave的情况下创建一个简单的Octave发行版
EN

Stack Overflow用户
提问于 2010-10-02 06:51:52
回答 5查看 26.6K关注 0票数 21

关于这个主题的Octave文档既吓人又稀疏。

我不知道还能在哪里记录我找到的解决方案,所以我在这里发帖。如果这不合适,我很抱歉,但我想帮助下一个人。

下面的解决方案适用于一个简单的windows可分发文件。

使用案例:

在Octave 3.2.4中开发了一个解决方案,需要分发给几乎没有计算机技能的最终用户。安装和解释Octave是不可能的,解决方案必须是“一键操作”或“脑死亡-简单”。

已知问题:

imread在3.2.4中失败,因为file_in_path.m是错误的。您需要将文件file_in_path.m更新为以下内容(只需替换它):

代码语言:javascript
复制
function name=file_in_path(p,file)
  idx=[1 findstr(p,pathsep) length(p)+1];
  for i=1:length(idx)-1
    if idx(i+1)-idx(i)<=1
      dir=strcat(pwd,"/");
    else
      dir=p(idx(i)+1:idx(i+1)-1);
    end
    name = fullfile(dir, file);
    fid = fopen(name,"r");
    if fid >= 0
      fclose(fid);
      return
    end
  end
  fid = fopen(file,"r");
  if fid >= 0,
    fclose(fid);
    name=file;
    return
  end
  name=[]; 
EN

回答 5

Stack Overflow用户

发布于 2013-01-09 23:11:49

只是补充一下,如果您想运行脚本而不是m函数,那么embedded.cc代码行:

代码语言:javascript
复制
octave_value_list out = feval ("your_custom_m_file", in);

应该是:

代码语言:javascript
复制
octave_value_list out = feval ("your_custom_m_script");

还可以使用‘the’查找缺少的函数的打包位置。例如,min函数:

代码语言:javascript
复制
octave:22> which min

min是来自文件C:\Octave\Octave3.6.2_gcc4.6.2\lib\octave\3.6.2\oct\i686-pc-mingw32\max.oct的函数

票数 5
EN

Stack Overflow用户

发布于 2015-07-09 00:08:18

当我将我的自定义m文件链接到一个Octave独立文件时,我发现了一些东西:

使用clean_up_and_exit(0);时,

  1. 需要#include <octave/toplev.h>
  2. Replace return 0; (如上所述)

如果没有这些步骤,我的程序在退出时就会反复崩溃。

票数 2
EN

Stack Overflow用户

发布于 2015-09-03 23:16:17

运行mkoctfile --link-stand-alone embedded.cc -o embedded

从八度解决方案而不是批处理文件。

刚为你节省了半天时间(-;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3843522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档