Hello, I am trying to import C functions from pcap.h library, however without 
much success. For now I am just trying to print out a integer return from 
pcap_findalldevs() funcion. This is the code:
    
    
    type
      pcap_if {.importc: "struct pcap_if", header: "<pcap.h>"} = object
        next: ptr pcap_if
        name: cstring
        description: cstring
        flags: uint32
      
      pcap_if_t {.importc: "struct pcap_if_t", header: "<pcap.h>"} = pcap_if
    
    proc pcap_findalldevs(a: ptr ptr pcap_if_t, b:cstring) : cint {.importc, 
header: "<pcap.h>"}
    
    var dev_list: ptr pcap_if_t
    
    echo pcap_findalldevs(addr(dev_list), nil)
    
    
    Run

Compiled with: 
    
    
     nim c -r ipk.nim --passL:"-L/usr/include/ -lpcap"
    
    
    Run

But this is the error message I get: 
    
    
    @mipk.nim.c:(.text+0x278): undefined reference to `pcap_findalldevs'
    collect2: error: ld returned 1 exit status
    Error: execution of an external program failed: 'gcc   -o /root/ipk2/ipk  
/root/.cache/nim/ipk_d/stdlib_io.nim.c.o 
/root/.cache/nim/ipk_d/stdlib_system.nim.c.o 
/root/.cache/nim/ipk_d/@mipk.nim.c.o    -ldl'
    
    
    Run

Could somebody help me please? It seems like it doesn't want to link properly, 
although I did also try linking with just 
    
    
    --clib:pcap and --clib:pcap.h
    
    Run

Reply via email to