1

我正在尝试在 OS X 终端中运行 spim。我可以使用 QTSimp,但spim终端中的命令尚不存在。当谈到终端(刚从 Windows 切换)时,我有点新手,所以也许这真的很明显。

首先,我只是导航到 spim 文件夹并输入make.

Lasker:spim orthogonal$ make
./Configure
cc
Check if this machine is big-endian or little-endian.
This may take a few minutes.
I believe this is a little-endian machine.
Looks like a Mac OS X / OpenStep universe exists...
Scanning libc.dylib

Checking if libc on this machine contains:
  vsprintf: No, I don't think
    _doprnt: NO, THIS IS A PROBLEM: NO VSPRINTF AND NO _DOPRNT
SPIM WILL NOT RUN PROPERLY
  vfprintf: No, I don't think
    _doprnt: NO, THIS IS A PROBLEM: NO VFPRINTF AND NO _DOPRNT
SPIM WILL NOT RUN PROPERLY
  strtoul: No, I don't think
  strtol: No, I don't think
  memcpy: No, I don't think

Checking for /usr/include/termios.h
Yes, it is there
make -f Makefile spim2
bison -d --file-prefix=y ../CPU/parser.y
../CPU/parser.y: conflicts: 25 shift/reduce
gcc -I. -I../CPU `cat configuration` -DTEXT_SIZE=65536 -DDATA_SIZE=131072 -DK_TEXT_SIZE=65536 -DDEFAULT_EXCEPTION_HANDLER="\"/usr/local/lib/spim/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" -g -Wall   -c -o spim-utils.o ../CPU/spim-utils.c
In file included from ../CPU/spim-utils.c:39:
../CPU/spim.h:71:1: warning: "memcpy" redefined
In file included from /usr/include/string.h:190,
                 from ../CPU/spim-utils.c:36:
/usr/include/secure/_string.h:53:1: warning: this is the location of the previous definition
../CPU/spim-utils.c:501: error: expected ‘)’ before numeric constant
../CPU/spim-utils.c:504: error: expected identifier or ‘(’ before ‘{’ token
../CPU/spim-utils.c:520: error: conflicting types for ‘strtol’
/usr/include/stdlib.h:181: error: previous declaration of ‘strtol’ was here
make[1]: *** [spim-utils.o] Error 1
make: *** [spim] Error 2

我回去再次阅读安装指南,它说尝试make install

Lasker:spim orthogonal$ make install
make -f Makefile spim2
gcc -I. -I../CPU `cat configuration` -DTEXT_SIZE=65536 -DDATA_SIZE=131072 -DK_TEXT_SIZE=65536 -DDEFAULT_EXCEPTION_HANDLER="\"/usr/local/lib/spim/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" -g -Wall   -c -o spim-utils.o ../CPU/spim-utils.c
In file included from ../CPU/spim-utils.c:39:
../CPU/spim.h:71:1: warning: "memcpy" redefined
In file included from /usr/include/string.h:190,
                 from ../CPU/spim-utils.c:36:
/usr/include/secure/_string.h:53:1: warning: this is the location of the previous definition
../CPU/spim-utils.c:501: error: expected ‘)’ before numeric constant
../CPU/spim-utils.c:504: error: expected identifier or ‘(’ before ‘{’ token
../CPU/spim-utils.c:520: error: conflicting types for ‘strtol’
/usr/include/stdlib.h:181: error: previous declaration of ‘strtol’ was here
make[1]: *** [spim-utils.o] Error 1
make: *** [spim] Error 2

然后我尝试了安装指南中的其他内容,

Lasker:spim orthogonal$ make test
make -f Makefile spim2
gcc -I. -I../CPU `cat configuration` -DTEXT_SIZE=65536 -DDATA_SIZE=131072 -DK_TEXT_SIZE=65536 -DDEFAULT_EXCEPTION_HANDLER="\"/usr/local/lib/spim/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" -g -Wall   -c -o spim-utils.o ../CPU/spim-utils.c
In file included from ../CPU/spim-utils.c:39:
../CPU/spim.h:71:1: warning: "memcpy" redefined
In file included from /usr/include/string.h:190,
                 from ../CPU/spim-utils.c:36:
/usr/include/secure/_string.h:53:1: warning: this is the location of the previous definition
../CPU/spim-utils.c:501: error: expected ‘)’ before numeric constant
../CPU/spim-utils.c:504: error: expected identifier or ‘(’ before ‘{’ token
../CPU/spim-utils.c:520: error: conflicting types for ‘strtol’
/usr/include/stdlib.h:181: error: previous declaration of ‘strtol’ was here
make[1]: *** [spim-utils.o] Error 1
make: *** [spim] Error 2

出了什么问题,我该如何解决?

4

2 回答 2

1

对于那些试图在 OS X 上使用 spim 8.0 进行编译的人,我推荐这个过程:

$ tar xvf spim-8.0.tar.gz
$ cd spim-8.0/spim
$ ./Configure
$ cat > configuration
-DLITTLEENDIAN
-DUSE_TERMIOS
-U_POSIX_SOURCE
^D
$ make install
于 2013-04-24T00:09:46.730 回答
1

您可以spim通过 Homebrew:

brew install spim
于 2019-08-01T02:54:54.283 回答