我尝试使用以下链接在Mac os x Mojave
上构建Mozart/Oz
:https://github.com/mozart/mozart并得到以下配置错误。找不到GNU MP lib。
我使用homebrew
安装了gmp
,并尝试了-With-GMP =/usr/local/local/opt/gmp/lib和-with-gmp =/usr/usr/local/cellar/cellar/cellar/gmp/6.1.2_2/相同的错误。谁能帮我解决这个问题?
checking for --with-gmp... yes
checking for gmp.h... -I/Users/rr/Software/mozart/gmp/packages/include
checking for __gmpz_init in -lgmp (default)... no
checking for __gmpz_init in -L/Users/rr/Software/mozart/gmp/packages/lib/ -lgmp... no
checking for mpz_init in -lgmp (default)... no
checking for mpz_init in -L/Users/rr/Software/mozart/gmp/packages/lib/ -lgmp... no
checking for mpz_init in -lgmp2 (default)... no
checking for mpz_init in -L/Users/rr/Software/mozart/gmp/packages/lib/ -lgmp2... no
configure: warning: required GNU MP lib not found
configure: error:
The GNU Multiple Precision Arithmetic Library (gmp)
version 2 or higher is required
to build the system. It can be retrieved from:
ftp://ftp.gnu.org/pub/gnu/gmp/
The latest version at this time is 4.1.2 and is available
packaged as the following archive:
ftp://ftp.gnu.org/pub/gnu/gmp/gmp-4.1.2.tar.gz
You may find a mirror archive closer to you by consulting:
http://www.gnu.org/order/ftp.html
configure: error: /Users/rr/Software/mozart/mozart/platform/emulator/configure failed for emulator
configure: error: /Users/rr/Software/mozart/mozart/platform/configure failed for platform
1:安装mozart2
1.1 :链接:https://mozart.github.io/
1.2 :Applications/Mozart2
应该看起来像:https://i.stack.imgur.com/tl00m.png
另外,由于我的stackoverflow声誉低,我无法嵌入图像,对此感到抱歉。
2:添加osc
和ozemulator
的别名2.1 :open .bash_profile
open ~/.bash_profile
2.2 :添加以下内容并保存
alias ozc='/Applications/Mozart2.app/Contents/Resources/bin/ozc'
alias ozemulator='/Applications/Mozart2.app/Contents/Resources/bin/ozemulator'
alias ozem='/Applications/Mozart2.app/Contents/Resources/bin/ozemulator'
alias ozengine='/Applications/Mozart2.app/Contents/Resources/bin/ozengine'
alias ozwish='/Applications/Mozart2.app/Contents/Resources/bin/ozwish'
3:基本用法
3.1 :在 .oz
-file中写代码示例:circle.oz
functor
import
System
Application(exit:Exit)
define
proc {Circle R}
local A C D Pi in
Pi = 3.14
A = Pi*R*R
D = 2.0*R
C = Pi*D
{System.showInfo
'A: ' # A # 'n' #
'D: ' # D # 'n' #
'C: ' # C
}
end
end
{Circle 20.0}
{Exit 0}
end
3.2 :ozc
ozc -c circle.oz
3.3 :在ozemulator
ozem circle.ozf # .ozf is a compiled .oz file