Sto cercando di usare make
per creare un binario da un codice sorgente per un programma di cui ho bisogno.
Link all'origine: link
Richiede usb.h, che sembra essere parte di usblib-compat. Ho installato quest'ultimo da brew install usblib-compat
. Ma ancora usb.h non può essere visto, anche se so dov'è (sotto / usr / local / Cellar / usblib-compat / version / include).
Ho letto molto su Internet e ho cercato di impostare molte variabili d'ambiente, ma senza successo. Qualche idea?
UPDATE
Dopo molte prove, ho progredito in qualche modo. Vale a dire, il file config.mk è chiaramente letto durante il processo di creazione, anche se devo ammettere che non mi è chiaro come sia fatto; comunque, ho notato due righe commentate:
CPPFLAGS += -I/usr/local/include
LDFLAGS += -L/usr/local/lib -Wl,-R/usr/local/lib
Li ho decommentati e ora succede qualcosa: viene trovato il usb.h. Penso che la prima di queste definizioni di variabili dica al compilatore dove cercare i file header, e la seconda dice al linker dove cercare le librerie - ma ancora una volta non mi è completamente chiaro.
In ogni caso, ho ancora problemi. Vale a dire, il processo di fabbricazione emette due avvertimenti e un errore, quindi si arresta:
usb-device.c:90:57: warning: unused parameter 'udev' [-Wunused-parameter]
static void usb_reattach_kernel_driver(usb_dev_handle * udev, int interface) {
^
usb-device.c:90:67: warning: unused parameter 'interface' [-Wunused-parameter]
static void usb_reattach_kernel_driver(usb_dev_handle * udev, int interface) {
usb-device.c:324:13: error: use of undeclared identifier 'RTLD_DEFAULT' if ( dlsym(RTLD_DEFAULT, "libusb_init") )
Sembra che questo programma sia difficile da trasferire da Linux a Mac, anche se penso che dovrebbe essere portatile. Se qualcuno ha qualche idea su cosa fare (a parte l'esecuzione di una distribuzione Linux ...), sarebbe molto apprezzato.