我正在尝试在带有Intel i5-4200U CPU @ 1.60GHz和6GB RAM的Windows 8.1笔记本电脑上的Octave 4.2.0中安装Octave 4.2.0和许多软件包 - 包括仪器控制软件包。
我的代码使用串行功能连接到串口,所以我真的需要仪器控制包。但是,当我尝试安装它时,我收到以下错误(我尝试了相同结果的Octave的x86和x64版本):
>> pkg install instrument-control-0.2.2.tar.gz
In file included from serial_class_win32.cc:29:0:
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:104:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (eq_serial_serial, serial, serial, ==)
^
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:105:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (ne_serial_serial, serial, serial, !=)
^
make[1]: [serial_class_win32.o] Error 1 (ignored)
In file included from serial.cc:29:0:
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:104:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (eq_serial_serial, serial, serial, ==)
^
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:105:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (ne_serial_serial, serial, serial, !=)
^
In file included from serial_class.h:20:0,
from serial.cc:29:
serial.cc: In function 'void install_serial_ops()':
C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/ops.h:51:13: error: 'oct_binop_eq_serial_serial' was not declared in this scope
CONCAT2 (oct_binop_, f));
^
C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/ops.h:32:24: note: in definition of macro 'CONCAT2X'
#define CONCAT2X(x, y) x ## y
^
C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/ops.h:51:4: note: in expansion of macro 'CONCAT2'
CONCAT2 (oct_binop_, f));
^
serial.cc:36:3: note: in expansion of macro 'INSTALL_BINOP'
INSTALL_BINOP (op_eq, octave_serial, octave_serial, eq_serial_serial);
^
C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/ops.h:51:13: error: 'oct_binop_ne_serial_serial' was not declared in this scope
CONCAT2 (oct_binop_, f));
^
C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/ops.h:32:24: note: in definition of macro 'CONCAT2X'
#define CONCAT2X(x, y) x ## y
^
C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/ops.h:51:4: note: in expansion of macro 'CONCAT2'
CONCAT2 (oct_binop_, f));
^
serial.cc:37:3: note: in expansion of macro 'INSTALL_BINOP'
INSTALL_BINOP (op_ne, octave_serial, octave_serial, ne_serial_serial);
^
make[1]: [serial.o] Error 1 (ignored)
g++: error: serial.o: No such file or directory
g++: error: serial_class_win32.o: No such file or directory
make[1]: [serial.oct] Error 1 (ignored)
In file included from srl_write.cc:23:0:
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:104:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (eq_serial_serial, serial, serial, ==)
^
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:105:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (ne_serial_serial, serial, serial, !=)
^
make[1]: [srl_write.o] Error 1 (ignored)
g++: error: srl_write.o: No such file or directory
g++: error: serial_class_win32.o: No such file or directory
make[1]: [srl_write.oct] Error 1 (ignored)
In file included from srl_read.cc:28:0:
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:104:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (eq_serial_serial, serial, serial, ==)
^
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:105:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (ne_serial_serial, serial, serial, !=)
^
srl_read.cc: In function 'octave_value_list Fsrl_read(const octave_value_list&, int)':
srl_read.cc:93:54: warning: 'void (* octave_set_signal_handler(int, void (*)(int), bool))(int)' is deprecated (declared at C:\Octave\Octave-4.2.0\include\
octave-4.2.0\octave\../octave/sighandlers.h:99): use 'octave::set_signal_handler' instead [-Wdeprecated-declarations]
octave_set_signal_handler(SIGINT, read_sighandler);
^
srl_read.cc:101:5: warning: 'install_signal_handlers' is deprecated (declared at C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/sighandlers.
h:114): use 'octave::set_signal_handler' instead [-Wdeprecated-declarations]
install_signal_handlers();
^
make[1]: [srl_read.o] Error 1 (ignored)
g++: error: srl_read.o: No such file or directory
g++: error: serial_class_win32.o: No such file or directory
make[1]: [srl_read.oct] Error 1 (ignored)
In file included from __srl_properties__.cc:25:0:
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:104:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (eq_serial_serial, serial, serial, ==)
^
serial_class.h:30:13: error: expected constructor, destructor, or type conversion before '(' token
BINOPDECL (name, a1, a2) \
^
serial_class.h:105:1: note: in expansion of macro 'DEFBINOP_CLASS_OP'
DEFBINOP_CLASS_OP (ne_serial_serial, serial, serial, !=)
^
make[1]: [__srl_properties__.o] Error 1 (ignored)
g++: error: __srl_properties__.o: No such file or directory
g++: error: serial_class_win32.o: No such file or directory
make[1]: [__srl_properties__.oct] Error 1 (ignored)
tcp_read.cc: In function 'octave_value_list Ftcp_read(const octave_value_list&, int)':
tcp_read.cc:110:54: warning: 'void (* octave_set_signal_handler(int, void (*)(int), bool))(int)' is deprecated (declared at C:\Octave\Octave-4.2.0\include
\octave-4.2.0\octave\../octave/sighandlers.h:99): use 'octave::set_signal_handler' instead [-Wdeprecated-declarations]
octave_set_signal_handler(SIGINT, read_sighandler);
^
tcp_read.cc:118:5: warning: 'install_signal_handlers' is deprecated (declared at C:\Octave\Octave-4.2.0\include\octave-4.2.0\octave\../octave/sighandlers.
h:114): use 'octave::set_signal_handler' instead [-Wdeprecated-declarations]
install_signal_handlers();
^
For information about changes from previous versions of the instrument-control package, run 'news instrument-control'.
看起来它无法构建库,当然,在加载包之后,如果我尝试:
>> which -all serial
>>
我什么都没得到,我的代码没有运行,因为找不到serial
函数。有关如何解决此问题的任何建议吗?