2012-06-03 29 views
5

मैं रैकेट में चिपमंक भौतिकी लाइब्रेरी का उपयोग करने की कोशिश कर रहा हूं जो इसे प्रदान करता है। हालांकि, मुझे वर्तमान में चिपमंक लाइब्रेरी में कार्यों को खोजने के लिए एफएफआई प्राप्त करने में समस्याएं हैं, भले ही यह पुस्तकालय को सही तरीके से लोड करता है।रैकेट और चिपमंक के साथ एफएफआई मुद्दे

मैं विजुअल स्टूडियो 2008 के साथ विंडोज 8 पर निर्मित चिपमंक (6.1.1) का नवीनतम संस्करण उपयोग कर रहा हूं। मेरे पास "CHIPMUNK_FFI" ध्वज सेट है ताकि chipmunk_ffi.h फ़ाइल लोड हो। मैं रिलीज डीएलएल कॉन्फ़िगरेशन के तहत "मल्टी-थ्रेडेड डीएलएल" और "बिल्ड ए डी डीएल" ऑप्टोन्स के साथ कोड का निर्माण कर रहा हूं।

#lang scheme 

(require ffi/unsafe 
     ffi/unsafe/define) 

(define chipmunk (ffi-lib "./chipmunk")) 
(define-ffi-definer define-chipmunk chipmunk) 

(define _cpFloat _double) 
(define cpFloat? real?) 
(define _cpDataPointer _pointer) 
(define _size_t _ulong) 
(define _cpHashValue _size_t) 

(define-cstruct _cpVect 
       ([x _cpFloat] 
       [y _cpFloat])) 

(define cpv 
    (get-ffi-obj "cpvadd" chipmunk (_fun _cpVect _cpVect -> _cpVect))) 

और मैं त्रुटि हो रही है:

ffi-obj: couldn't get "cpvadd" from "chipmunk.dll" (The specified procedure could not be found.; errno=127) 

=== context === 
C:\Program Files (x86)\Racket\collects\ffi\unsafe.rkt:180:2: get-ffi-obj* 
C:\Users\me.000\AppData\Roaming\Racket\planet\300\5.2.1\cache\jaymccarthy\chipmunk.plt\1\0\chipmunk-ffi-new.ss: [running body] 
C:\Users\me.000\AppData\Roaming\Racket\planet\300\5.2.1\cache\jaymccarthy\chipmunk.plt\1\0\chipmunk-new.rkt: [traversing imports] 
C:\Users\me.000\AppData\Roaming\Racket\planet\300\5.2.1\cache\jaymccarthy\chipmunk.plt\1\0\main.rkt: [traversing imports] 
C:\Users\me.000\Dropbox\Code\workspace-racket\learning\main.rkt: [traversing imports] 

आप किसी भी अधिक जानकारी की आवश्यकता है, तो मुझे बताएं रैकेट कोड मैं उपयोग कर रहा हूँ इस प्रकार है। मैं वास्तव में इसके साथ कुछ मदद की सराहना करता हूं।

+1

देखें, क्या तुम सच में [मेलिंग सूची] की कोशिश (http://lists.racket-lang.org/users/) चाहिए - मुझे लगता है कि जे के लिए गोंद कोड के साथ खेला या तो इस या कुछ अन्य भौतिकी इंजन, तो शायद आप शुरू कर सकते हैं जहां उन्होंने छोड़ा ... –

उत्तर