first download gc 7.2
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha4.tar.gz
展开。
然后进入msys
cd d:/gc-7.2alpha4
敲入命令:
1.首先配置
./configure --enable-shared=no --enable-static=yes --enable-cplusplus --enable-large-config --enable-parallel-mark --enable-threads=win32;make
2.开始编译
make
3.安装到/usr/local目录下,实际的msys local目录下
success then.
cd d:/ecl-10.4.1
//./configure --prefix=/usr/local --enable-boehm=system --enable-longdouble --enable-gengc --enable-precisegc --enable-threads --enable-unicode CPPFLAGS=-ID:\\gc-7.2alpha4\\include LDFLAGS=-LD:\\gc-7.2alpha4\\.libsmake clean;./configure --prefix=/usr/local --enable-threads -enable-boehm --enable-unicode ;make
MSVC:
nmake ECL_UNICODE=1 ECL_DEBUG=0
#include <ecl/ecl.h>
# include <unistd.h>
# include <pthread.h>
int main(int argc, char **argv) {
cl_boot(argc, argv);
cl_object obj=c_string_to_object("\"Hello world\"");
cl_pprint(1,obj);
cl_shutdown();
}
(ext::stream-external-format-set *standard-input* :utf-8)
(ext::stream-external-format-set *standard-output* :utf-8)
--build=pentium4-pc-mingw32如何使用ecl.dll
使用
ecl-config --cflags 及 ecl-config --ldflags 得到你需要传递给你的编译器的变量
发布使用ecl.dll的程序。
必须包含ecl.dll 和ucd.dat 两个文件同执行文件在同一个目录下
ucd.dat
显示汉字:
cl_object obj=c_string_to_object("\"Hello world你好\"");
wxMessageBox(wxString(ecl_base_string_pointer_safe(obj),wxConvUTF8));
ECL生成独立的可执行文件.
1.新建hello.lisp文件,包含如下代码
(princ "Hello world!")
(terpri)
(quit)
2.生成object文件
(compile-file "hello.lisp" :system-p t)
3.link成可执行文件
(c:build-program "hello" :lisp-files '("hello.o"))
4../hello.exe