Io(イオ)をCygwinでWindowsにインストールする
http://iolanguage.com/からstevedekorte-io-2010.06.06-432-g11e1e74.zipをダウンロード
適当なディレクトリで解凍
cmakeをcygwinのインストール時に入れておく。
$ cmake -DCMAKE_INSTALL_PREFIX=/cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74
これでmakefileとかテンプレから出力してるっぽい。
次にmake、ふつうに実行すると失敗する。
$ make Scanning dependencies of target copy_basekit_headers ..... ..... collect2: ld returned 1 exit status make[2]: *** [_build/dll/cygbasekit.dll] Error 1 make[1]: *** [libs/basekit/CMakeFiles/basekit.dir/all] Error 2 make: *** [all] Error 2
ここで、Common_inline.hを手直し
libs\basekit\source\Common_inline.hに各プラットホーム毎のプリプロセッサの設定がある。
ここの、L.99の#elif defined(__MINGW32__)がwindowsの設定かと思ったら、違うみたい。
一番最後のL.125を以下のように変更
#ifdef IO_IN_C_FILE // in .c #define IO_DECLARE_INLINES #define IOINLINE inline #else // in .h #define IO_DECLARE_INLINES #define IOINLINE static inline #endif
$ make [ 0%] Copying files: /cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74//cygdrive/ c/FreeSoft/Io/stevedekorte-io-11e1e74/libs/basekit/source/*.h to /cygdrive/c/Fre eSoft/Io/stevedekorte-io-11e1e74/_build/headers ..... ..... [100%] Building C object addons/Zlib/CMakeFiles/IoZlib.dir/source/IoZlibInit.c.o Linking C shared library _build/dll/cygIoZlib.dll Creating library file: _build/dll/libIoZlib.dll.a [100%] Built target IoZlib
$ make install [ 0%] Copying files: /cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74//cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74/libs/basekit/source/*.h to /cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74/_build/headers ..... ..... -- Installing: /cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74/lib/io/addons/Zlib/_build/headers -- Installing: /cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74/lib/io/addons/Zlib/_build/lib -- Installing: /cygdrive/c/FreeSoft/Io/stevedekorte-io-11e1e74/lib/io/addons/Zlib/_build/objs
bin/io.exeがあるので起動、soが見つからないエラー。
cd /libして
../bin/ioで起動出来た。