2015-06-20 72 views
2

這是我的目錄結構:FFI和頭文件

C:. 
│ lodepng.h 
│ lodepng.c 
│ nim.cfg 
│ test.png 
│ util.nim 
│ 
└───nimcache 

UTIL NIM從lodepng.h進口交流功能是這樣的:

proc loadPNG(image: var ptr[cchar], width, height: var cuint, filename: cstring) 
    {.importc: "lodepng_decode32_file", header: "lodepng.h".} 

但頭沒有被複制到nimcache也不是編譯代碼時發現。我如何確保nim編譯器使用它?

回答

1

我發現NIM backend integration guide內的解決方案:

{.compile: "lodepng.c".} 
proc lodepng_decode32_file(image: var ptr[cchar], width, height: var cuint, filename: cstring): cuint {.importc.}