scheme-lib - scheme 工具包


MIT
跨平台
Lisp

软件简介

scheme-lib

scheme-lib 是一个scheme使用的库。目前支持android osx linux windows,其它平台在规划中。

官方主页:http://scheme-lib.evilbinary.org/ QQ群:Lisp兴趣小组239401374

linux、mac

安装编译

  1. linux下安装apt-get install freeglut3-dev libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libalut-dev libopenal-dev libffi-dev依赖库。
  2. mac安装xcode command line tool。
  3. 执行make命令就可以编译,对应平台的文件在bin目录下。
  4. 进入bin目录,执行source env.sh,然后运行./scheme --script ../apps/hello.ss就可以运行例子。

windows

  1. 下载scheme-lib-2.0-win32.zip,解压后进入bin,打开cmd运行run.bat ../apps/gui-test.ss就可以运行例子了。

截图



android

新手入门

环境安装 手机版

  1. 先安装scheme-release-1.5.apk
  2. 点击下载app库和package库
  3. 下载成功后点击运行计算机demo或者直接打开apps里面的应用demo点击运行

运行效果如下:

测试配置

  1. 在手机上输入运行代码可能不方便,所以弄了个配置文件,把需要运行的代码放到配置中会自己加载代码运行。配置文件为config.xml内容如下:

    (import (test) (gles1) (glut) ) (load "/sdcard/org.evilbinary.chez/lib/apps/draw-point.ss") ;(imgui-test-hello-world)
    
  2. adb push config.xml /sdcard/org.evilbinary.chez/scm/conf/config.xml

  3. 打开scheme app就可以直接运行啦。

高级篇

android使用外部库

  1. 手工添加Android.mk和源码文件到scheme-lib/android/src下命名为libhadd的文件夹。 add.c 内容如下:
    #include
    

    include

    int add(int a,int b){
    return a+b;
    }

Android.mk内容如下:

    LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/../Optimizations.mk
LOCAL_MODULE    := add
LOCAL_SRC_FILES := add.c
LOCAL_C_INCLUDES :=
LOCAL_CFLAGS +=  -I. -I./c/
LOCAL_CFLAGS += -g -Wall -DANDROID    -DINLINES -DGC_MACROS   -Wno-unused-parameter -pie -fPIE   -fPIC
LOCAL_LDLIBS += -ldl -llog -lz
include $(BUILD_SHARED_LIBRARY)
  1. 执行make android

  2. 将编译后生成的库android/src/libs/libadd.so 同步到/sdcard/org.evilbinary.chez/lib目录下,这样能调用外部库了。

  3. 调用外libadd.so库和使用代码如下:

    (import  (scheme) (utils libutil) )
    

    (load-lib “libadd.so”)
    (define-c-function int add (int int) )
    (display (add 100 1234))