Difference between revisions of "Talk:FFI complete examples"

From HaskellWiki
Jump to navigation Jump to search
(FIXED IT!!!)
(Replacing page with 'How does one interface with a C enum?')
 
Line 1: Line 1:
  +
How does one interface with a C enum?
Update: The following problem is solved by renaming charm.hs to hscharm.hs, so that the corresponding charm.o doesn't override the charm.o produced during compilation of charm.c.
 
 
ncurses is proving too difficult to setup, so I'm working on a new library called charm. The C code works by itself, but I can't compile a Haskell wrapper for it. While the tutorials at HaskellWiki are helpful, they're outdated. Argh! The docs say that -#include pragmas no longer work, but fail to explain how to load code without them. Suffice to say I have no recourse but trial and error.
 
 
charm
 
[https://github.com/mcandre/charm]
 
 
hscharm
 
[https://github.com/mcandre/hscharm]
 
 
$ make
 
cp /usr/include/charm.c .
 
ghc --make -fforce-recomp -o hellocharm hellocharm.hs charm.hs charm.c -I/usr/include -dylib-install-name /usr/lib/libcharm.dynlib
 
[1 of 2] Compiling Charm ( charm.hs, charm.o )
 
[2 of 2] Compiling Main ( hellocharm.hs, hellocharm.o )
 
Linking hellocharm ...
 
ld: duplicate symbol _Charm_getWidth_info in charm.o and charm.o
 
collect2: ld returned 1 exit status
 
make: *** [hellocharm] Error 1
 

Latest revision as of 07:34, 14 July 2011

How does one interface with a C enum?