Hello,

In fact, I've the same problem as :
http://www.perlmonks.org/?node_id=896237

$ valac --pkg libpcap -X -I/opt/include test.vala
test.vala.c: In function 'main':
test.vala.c:29:2: warning: 'g_type_init' is deprecated (declared at
C:\TEMP\cccVFFzy.o:test.vala.c:(.text+0x47): undefined reference to
`pcap_lib_version'
collect2: ld returned 1 exit status
error: cc exited with status 1
Compilation failed: 1 error(s), 0 warning(s)

I will try the fix explained in the web page.

Regards,

Raum

> On Fri, 2013-09-20 at 15:49 +0200, [email protected] wrote:
>> Hello,
>>
>> I'm trying to output "pcap version" in mingw32 environnement. I've
>> installed libpcap.vapi, libpcap.deps (from
>> https://github.com/apmasell/vapis) and all header and lib files from
>> WpdPack.zip (WinPcap developper kit).
>>
>> I found in my /opt/include folder :
>> pcap.h
>> pcap/pcap.h
>> ...
>>
>> CPPFLAGS=-I/opt/include
>
> This isn't likely to have much effect?Vala uses C, not C++.  You may
> have better luck with CFLAGS.  AFAIK Vala doesn't use the CFLAGS
> environment variable, though, so if that's what you're hoping will pick
> it up I think you're out of luck.
>
> If you want to get valac to pass specific C flags to the C compiler, use
> -X (valac -X -I/opt/include ...).
>
>> C_LIBRARY_PATH=/usr/include:/mingw/include:/opt/include
>>
>> simple vala code test_pcap.vala :
>> ---------------------
>> void main() {
>>      stdout.printf ("%s\n", PCap.get_version());
>>
>> }
>> ---------------------
>>
>> Command to compile test code :
>> $ valac --pkg gio-2.0 --pkg libpcap  test_pcap.vala
>> d:/test_pcap.vala.c:8:23: fatal error: pcap/pcap.h: No such file or
>> directory
>> compilation terminated.
>> error: cc exited with status 1
>> Compilation failed: 1 error(s), 0 warning(s)
>> $
>>
>> Do you have an advice ? I don't understand why valac didn't find a file
>> which is obviously present in /opt/include/pcap/ folder ?
>
> It's actually not valac which doesn't find the header file, it's the C
> compiler.  You can always just tell valac to compile to C but not
> compile the C itself (using the -C flag), then invoke your C compiler
> manually.  Once you figure out the right flags, you can pass them to
> valac with -X.  You can also see what flags valac is passing to the C
> compiler with something like `valac --cc=echo --pkg gio-2.0 --pkg
> libpcap test_pcap.vala`.
>
>
> -Evan
>
>
_______________________________________________
vala-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to