sample.c
#include <gauche.h> int main( int argc, char **argv ) { printf( "Hello, gauche!\n" ); ScmObj sObj = SCM_MAKE_STR( "(+ 1 1)" ); char *s = Scm_GetString( SCM_STRING( sObj )); puts( s ); return 0; }
※ライブラリの場所など環境に応じて読み替えてください。
まず、環境変数を確認します。
$ printenv LD_LIBRARY_PATH
なにも(あるいは、Gaucheのライブラリ-libgauche.so.0-がある場所が)表示されていなければ、 ライブラリの場所を追加してあげる必要があります。
$ export LD_LIBRARY_PATH="/usr/local/lib":$LD_LIBRARY_PATH
もしくは、 恒久的に環境変数を保持したい場合には、/etc/ld.so.confにライブラリの場所を追加し、スーパーユーザーでldconfigコマンドを実行します。
/etc/ld.so.conf
/usr/local/lib
# /sbin/ldconfig
それでは、コンパイルします。
$ gcc sample.c -I/usr/local/lib/gauche/*.*.**/include -lgauche
\-Iオプションで、Gaucheのヘッダーファイル-gauche.h-がある場所を指定しています。
$ ./a.out Hello, gauche! (+ 1 1)
...とおもったが、
こんな低レベルのところからいじってるときりがない(いや、あるんだが) ので、
少々勉強中。