2010-11-30 48 views
1

Comment puis-je déterminer quel fichier pcap.h est inclus dans une source C qui est compilé/installé via un Makefile?Ruby/C/Makefile, quel est le fichier pcap.h par défaut qui est utilisé dans -lpcap/# include <pcap.h>

Plus précisément, il est une bibliothèque Ruby (de pcaprub) qui est en cours d'installation via:

ruby extconf.rb && make && make install 

et extconf.rb est:

require 'mkmf' 

if /i386-mswin32/ =~ RUBY_PLATFORM 
    pcap_dir  = with_config("pcap-dir", "C:\WpdPack") 
    pcap_includedir = with_config("pcap-includedir", pcap_dir + "\\include") 
    pcap_libdir  = with_config("pcap-libdir", pcap_dir + "\\lib") 

    $CFLAGS = "-DWIN32 -I#{pcap_includedir}" 
    $LDFLAGS = "/link /LIBPATH:#{pcap_libdir}" 
    have_library("wpcap", "pcap_open_live") 
    have_library("wpcap", "pcap_setnonblock") 
else 
    have_library("pcap", "pcap_open_live") 
    have_library("pcap", "pcap_setnonblock") 
end 

if (RUBY_VERSION =~ /^1\.9/) 
    $CFLAGS += " -DRUBY_19" 
end 

create_makefile("pcaprub") 

Répondre

0

Pouvez-vous regarder le produit Makefile pour voir quelles options -I sont passées à gcc? Vous pouvez également passer -H-gcc pour afficher le fichier d'en-tête qu'il finit par utiliser:

-H Print the name of each header file used, in addition to other 
     normal activities. Each name is indented to show how deep in the 
     #include stack it is. Precompiled header files are also printed, 
     even if they are found to be invalid; an invalid precompiled header 
     file is printed with ...x and a valid one with ...! .