- 追加された行はこの色です。
- 削除された行はこの色です。
* SML# 0.90をMinGWでビルドしよう [#dd97bbc7]
- 前提
-- 最新のMinGWとMSYSをmingw-getでインストール (gcc,c++,msys,...も) 参照 http://www.mingw.org/wiki/Getting_Started
-- GMP 4.1 MinGWバイナリ http://www.cs.nyu.edu/exact/core/gmp/
* コンパイル [#bca04739]
./configure
make
- コンパイル失敗
gcc -g -O -DHAVE_CONFIG_H -DHOST_CPU_i386 -DMAXALIGN=16 -I../.. -DMINOR_GC -c -
o heap_bitmap.o heap_bitmap.c
heap_bitmap.c: 関数 'free_segment' 内:
heap_bitmap.c:1393:2: エラー: 'MEM_UNCOMMIT' が宣言されていません (この関数内で
の最初の使用)
heap_bitmap.c:1393:2: 備考: 未宣言の識別子は出現した各関数内で一回のみ報告されま
す
make[2]: *** [heap_bitmap.o] Error 1
make[2]: Leaving directory `/home/keigoi/smlsharp-0.90/SMLSharp/src/nativeruntim
e'
make[1]: *** [all-subdirs] Error 2
make[1]: Leaving directory `/home/keigoi/smlsharp-0.90/SMLSharp/src'
make: *** [all-subdirs] Error 2
- 修正: SMLSharp/src/nativeruntime/heap_bitmap.c, l.1242
#define UncommitPage(addr, size) \
VirtualFree(addr, size, MEM_UNCOMMIT)
を
#define UncommitPage(addr, size) \
VirtualFree(addr, size, MEM_DECOMMIT)
に (参考 http://msdn.microsoft.com/en-us/library/windows/desktop/aa366892(v=vs.85).aspx )