无法使用mkoctfile --mex在八度音程中构建mex文件

时间:2017-05-17 09:24:13

标签: matlab octave mex

我正在尝试用八度音程构建一个mex文件。 Octave instructions表示我们需要使用mkoctfile --mex来构建一个。我正在尝试构建的文件位于以下路径中:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xsd:import namespace="urn:schemas-microsoft-com:xml-msdata" schemaLocation="msdata.xsd" />
    <xsd:element name="root">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" name="subroot">
          <xsd:complexType>
            <xsd:sequence>
                   <xsd:element minOccurs="0" name="set">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:any processContents="lax" />
                    <xsd:choice>
                      <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" name="Held">
                          <xsd:complexType>
                            <xsd:attribute name="_attr1" use="required" type="xsd:integer" />
                            <xsd:attribute name="_attr2" use="required" type="xsd:integer" />
                          </xsd:complexType>
                        </xsd:element>
                        <xsd:element maxOccurs="unbounded" name="Asses">
                          <xsd:complexType>
                            <xsd:attribute name="_attr2" use="required" type="xsd:integer" />
                            <xsd:attribute name="_attr3" use="required" type="xsd:NCName" />
                          </xsd:complexType>
                        </xsd:element>
                      </xsd:sequence>
                    </xsd:choice>
                  </xsd:sequence>
                </xsd:complexType>
                <xsd:unique name="PK_Held" msdata:PrimaryKey="true">
                  <xsd:selector xpath="xsd:Held"></xsd:selector>
                  <xsd:field xpath="@_attr1"></xsd:field>
                </xsd:unique>
                <xsd:unique name="PK_Asses" msdata:PrimaryKey="true">
                 <xsd:selector xpath="xsd:Asses"></xsd:selector>
                 <xsd:field xpath="@_attr2"></xsd:field>
                 </xsd:unique> 
                <xsd:keyref name="FK_Held_Asses" refer="PK_Asses">
                 <xsd:selector xpath="xsd:Held"></xsd:selector>
                 <xsd:field xpath="@_attr2"></xsd:field>
                 </xsd:keyref>
              </xsd:element>
            </xsd:sequence>
                </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>   

写作时

> C:\devwork\Octave\boosted\toolbox\channels\private\rgbConvert.cpp

我收到以下错误:

> mkoctfile --mex rgbConvert.cpp

注意:我当前的目录设置正确。它位于\ devwork \ Octave \ boosted \ toolbox \ channels \ private

有人可以解释我为什么会收到此错误。

1 个答案:

答案 0 :(得分:1)

使用以下问题解决问题:mkoctfile --mex -DMATLAB_MEX_FILE rgbConvertMex.cpp

因此,如果要将任何Matlab编译的.mex文件转换为Octave可执行文件,请执行以下两个步骤:

  1. 通过添加#include <stdlib.h>
  2. 修改wrappers.hpp文件
  3. 保存文件。
  4. 只需运行:mkoctfile --mex -DMATLAB_MEX_FILE file_name
  5. .o文件将被创建。
  6. 我用同样的方法做了它并且工作正常。

    Eskapp非常感谢释放Octave编译的MEX文件。您需要手动将文件添加到主工具箱中。请在此处找到链接: https://github.com/Eskapp/Piotr_vision_extrafiles_Octave

    希望它能帮助别人:)