在C+中使用倍频程+; 我在八度和C++都是新的!我想用C++中的八度来找到这个。我从上面的代码开始,并尝试运行它。不幸的是,没有关于这个问题的文件,我遇到了很多错误。我第一次使用MSVC2010,发现我应该使用gcc!!以下是我到目前为止所做的工作: 从这里下载Octave(我下载Octave-4.0.0_0.zip)

在C+中使用倍频程+; 我在八度和C++都是新的!我想用C++中的八度来找到这个。我从上面的代码开始,并尝试运行它。不幸的是,没有关于这个问题的文件,我遇到了很多错误。我第一次使用MSVC2010,发现我应该使用gcc!!以下是我到目前为止所做的工作: 从这里下载Octave(我下载Octave-4.0.0_0.zip),c++,octave,C++,Octave,我试图编译以下代码: int main (void) { std::cout << "Hello Octave world!\n"; int n = 2; Matrix a_matrix = Matrix (n, n); for (octave_idx_type i = 0; i < n; i++) for (octave_idx_type j = 0; j < n; j++) a_matrix(i,j) = (i + 1) * 1

我试图编译以下代码:

int main (void)
{
  std::cout << "Hello Octave world!\n";

  int n = 2;
  Matrix a_matrix = Matrix (n, n);

  for (octave_idx_type i = 0; i < n; i++)
    for (octave_idx_type j = 0; j < n; j++)
      a_matrix(i,j) = (i + 1) * 10 + (j + 1);

  std::cout << a_matrix;

  return 0;
}
int main(无效)
{
std::cout n:\octave-4.0.0\include\math.h(169):错误C2146:语法错误:缺少“;”在标识符“之前volatile”
1> n:\octave-4.0.0\include\math.h(169):错误C2143:语法错误:在“:”之前缺少“')”
1> n:\octave-4.0.0\include\math.h(169):错误C2059:语法错误:')'

在使用gcc的代码块中出现以下错误:


C:/Users/Sam/Documents/codeblock_C++/testOctave/main.cpp:19:4.0中对
operatorOctave>4.0的未定义引用在windows中使用msys和gcc,但您不需要知道这一点,就可以编译它

看看您正在尝试做什么,您正在使用一个IDE而不是octave来尝试编译代码,而不正确地包含octave路径和octave库

最简单的方法是用八度音阶来做

首先,您需要包括倍频程标头,因为您使用的是cout、iostream:

#include <octave/oct.h>
#include <iostream>

如果可以的话,先在Linux上试试怎么样?我也有Ubuntu,你知道我如何在Ubuntu上做到这一点吗?我认为在Ubuntu上编译Octave本身是个好主意。你可以参考或。然后按照你找到的Octave网页上的说明进行操作。我知道它有一年的历史,但我在编译时也会遇到同样的错误h visual studio 2013。有人有任何线索吗?我尝试过使用MinGW和Cygwin进行编译-在dim_向量和数组区域仍然存在错误“未定义的引用…”。有人知道这方面的线索吗?
mkoctfile --link-stand-alone main.cpp