On Fri, 2013-09-20 at 15:49 +0200, r...@no-log.org 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
vala-list@gnome.org
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to