을 정적으로 컴파일하여을 치킨 후 치킨 스킴 프로그램을 연결하면이 한 알이 나에게 약간의 문제를 일으키고 있습니다. 동일한 오류가 발생하지만 더 많은 정보가 있으면 repl에서 시도해보십시오. 그래서 여기에 간다 :Chicken Scheme egg "lookup-table"을 컴파일하는 데 문제가 있습니다
> chicken-install >/dev/null -retrieve lookup-table
> csi ./lookup-table/lookup-table.scm -I ./lookup-table
CHICKEN
(c) 2008-2014, The Chicken Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.9.0.1 (stability/4.9.0) (rev 8b3189b)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
bootstrapped 2014-06-07
; loading /tmp/tempfabd.10142/lookup-table/lookup-table.scm ...
; loading /var/lib//chicken/7/chicken.import.so ...
; including /tmp/tempfabd.10142/lookup-table/lookup-table-body.scm ...
; loading /var/lib//chicken/7/srfi-1.import.so ...
; loading /var/lib//chicken/7/srfi-69.import.so ...
; loading /var/lib//chicken/7/ports.import.so ...
; loading /var/lib//chicken/7/data-structures.import.so ...
; loading /var/lib//chicken/7/extras.import.so ...
; loading /var/lib//chicken/7/miscmacros.import.so ...
; loading /var/lib//chicken/7/type-checks.import.so ...
; loading /var/lib//chicken/7/type-errors.import.so ...
; loading /var/lib//chicken/7/foreign.import.so ...
; loading /var/lib//chicken/7/record-variants.import.so ...
; loading /var/lib//chicken/7/miscmacros.so ...
; loading /var/lib//chicken/7/record-variants.so ...
Warning: reference to possibly unbound identifier `MAGIC-LIMIT' in:
Warning: magic-count?
Error: module unresolved: lookup-table
Call history:
<syntax> [dict-print] (##core#let ((port (optional732 tmp735 #f))) (if (not port) (*dict-print dict) (with-output-to-port ......
<syntax> [dict-print] (##core#begin (##core#if (not port) (*dict-print dict) (with-output-to-port port (lambda() (*dict-p......
<syntax> [dict-print] (##core#if (not port) (*dict-print dict) (with-output-to-port port (lambda() (*dict-print dict))))
<syntax> [dict-print] (not port)
<syntax> [dict-print] (*dict-print dict)
<syntax> [dict-print] (with-output-to-port port (lambda() (*dict-print dict)))
<syntax> [dict-print] (lambda() (*dict-print dict))
<syntax> [dict-print] (##core#lambda() (*dict-print dict))
<syntax> [dict-print] (##core#begin (*dict-print dict))
<syntax> [dict-print] (*dict-print dict)
<syntax> [dict-print] (optional732 tmp735 #f)
<syntax> [dict-print] (##core#let ((tmp739 tmp735)) (##core#if (null?740 tmp739) #f (car741 tmp739)))
<syntax> [dict-print] (##core#begin (##core#if (null?740 tmp739) #f (car741 tmp739)))
<syntax> [dict-print] (##core#if (null?740 tmp739) #f (car741 tmp739))
<syntax> [dict-print] (null?740 tmp739)
<syntax> [dict-print] (car741 tmp739) <--
내가 시험해 보았던 다른 모든 달걀은 잘 정리했다. 누군가이 문제를 해결하도록 도와 줄 수 있습니까? 내 궤도에서 나를 막을 수있어.
소스를 실제로 변경하지 않고 작업해야 할 필요가 있습니다. 아마도 컴파일 할 때 lookup-table.setup에서'csc'에'opts'를 넘겨 주면 될까요? 그것은 충분할지도 모른다. 왜 그들은 막연한 소스에서'MAGIC-LIMIT'을 정의 할 수 없었는지, 나는 잘 모른다. –
2009 년부터 저자가이 달걀을 만지지 않은 것 같습니다 ... 왜 소스를 변경하고 싶지 않다는 것입니다. 컴파일 프로세스를 자동으로 유지 하시겠습니까? – dercz
csc -unit 조회 테이블 -emit-import-library 조회 테이블 -prelude "\"(define-constant MAGIC-LIMIT 12) \ ""-cJ lookup-table.scm이 작동하는 것 같습니다 ... – dercz