使用Octave库的C ++程序

时间:2016-09-01 07:24:48

标签: c++ gcc octave

我尝试在Octave的c ++项目库中使用。 不幸的是,我无法构建程序。 我使用Windows 7 64位,Octave3.6.4_gcc4.6.2和gcc 4.6.2。

我的步骤:

  1. 已下载Octave3.6.4_gcc4.6.2.exe (http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.4%20for%20Windows%20MinGW%20installer/Octave3.6.4_gcc4.6.2_20130408.7z/download
  2. 我在C:\ Octave中安装了哪个。我已将octave的bin文件夹的地址添加到环境变量PATH。

    1. 已下载mingw32-gcc-4.6.2-release-c,c ++,fortran-sjlj-FINAL.7z 并安装在C盘中。我已将mingw的bin文件夹的地址添加到环境变量PATH。

    2. 尝试编译简单示例main.cpp(或来自http://www.gnu.org/software/octave/doc/interpreter/Standalone-Programs.html#Standalone-Programs的示例)

    3. #include <iostream>
      #include <octave/oct.h>
      
      using namespace std;
      
      int main() {
      
        return 0;
      }
      
      1. 我使用了makefile:
      2. OCTAVE_INCLUDE=C:\Octave\Octave3.6.4_gcc4.6.2\include\octave-3.6.4
        
        all: test
        
        clean:
            -rm test.o test
        
        test: test.o
            mkoctfile --link-stand-alone -o test test.o
        
        test.o: main.cpp
            g++ -c -I$(OCTAVE_INCLUDE) -I$(OCTAVE_INCLUDE)octave -o test.o main.cpp
        

        所以,我们有

        hdf5.h:没有这样的文件或目录 regex.h:没有这样的文件或目录

        但它们位于C:\ Octave \ Octave3.2.4_gcc4.4.0 \ include \

        我不明白我的错误在哪里。

1 个答案:

答案 0 :(得分:0)

我的问题的解决方案是我的gcc版本的问题。它似乎与用于编译八度的版本不兼容。

更正后的makefile如下:

OCTAVE_INCLUDE=C:\Octave\Octave3.6.4_gcc4.6.2\include

all: test

clean:
    -rm test.o test

test: test.o
    mkoctfile --link-stand-alone -o test test.o

test.o: main.cpp
    g++ -c -I$(OCTAVE_INCLUDE) -I$(OCTAVE_INCLUDE)\octave-3.6.4 -o test.o main.cpp