From: Xiaofan C. <xia...@gm...> - 2011-06-29 06:01:05
|
I am trying to build libusb-win32 device driver under MinGW but I have one problem with this undefined reference to `ObQueryNameString'. How should I fix this issue? It should be in libntoskrnl.a but somehow this does not work. http://msdn.microsoft.com/en-us/library/ff550990%28v=vs.85%29.aspx Source archive: libusb-win32/libusb-win32-src-1.2.4.0 http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.4.0/ $ make driver dlltool --dllname usbd.sys --add-underscore --def ./src/driver/usbd.def --output -lib libusbd.a gcc -c ./src/driver/abort_endpoint.c -o abort_endpoint.o -O2 -Wall -DWINVER=0x50 0 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/claim_interface.c -o claim_interface.o -O2 -Wall -DWINVER=0x 500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver - I. gcc -c ./src/driver/clear_feature.c -o clear_feature.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/dispatch.c -o dispatch.o -O2 -Wall -DWINVER=0x500 -DLOG_APP NAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/get_configuration.c -o get_configuration.o -O2 -Wall -DWINVE R=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driv er -I. gcc -c ./src/driver/get_descriptor.c -o get_descriptor.o -O2 -Wall -DWINVER=0x50 0 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/get_interface.c -o get_interface.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/get_status.c -o get_status.o -O2 -Wall -DWINVER=0x500 -DLOG _APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/ioctl.c -o ioctl.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\ "libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. ./src/driver/ioctl.c: In function 'dispatch_ioctl': ./src/driver/ioctl.c:329:4: warning: pointer targets in passing argument 2 of 'g et_configuration' differ in signedness ./src/driver/libusb_driver.h:226:10: note: expected 'unsigned char *' but argume nt is of type 'char *' ./src/driver/ioctl.c:349:32: warning: pointer targets in passing argument 3 of ' get_interface' differ in signedness ./src/driver/libusb_driver.h:233:10: note: expected 'unsigned char *' but argume nt is of type 'char *' gcc -c ./src/driver/libusb_driver.c -o libusb_driver.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/pnp.c -o pnp.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\"lib usb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/release_interface.c -o release_interface.o -O2 -Wall -DWINVE R=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driv er -I. gcc -c ./src/driver/reset_device.c -o reset_device.o -O2 -Wall -DWINVER=0x500 - DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/reset_endpoint.c -o reset_endpoint.o -O2 -Wall -DWINVER=0x50 0 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/set_configuration.c -o set_configuration.o -O2 -Wall -DWINVE R=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driv er -I. ./src/driver/set_configuration.c: In function 'set_configuration': ./src/driver/set_configuration.c:33:58: warning: unused variable 'ret' gcc -c ./src/driver/set_descriptor.c -o set_descriptor.o -O2 -Wall -DWINVER=0x50 0 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/set_feature.c -o set_feature.o -O2 -Wall -DWINVER=0x500 -DL OG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/set_interface.c -o set_interface.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/transfer.c -o transfer.o -O2 -Wall -DWINVER=0x500 -DLOG_APP NAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. ./src/driver/transfer.c: In function 'large_transfer': ./src/driver/transfer.c:793:3: warning: value computed is not used ./src/driver/transfer.c: In function 'large_transfer_complete': ./src/driver/transfer.c:1098:3: warning: value computed is not used gcc -c ./src/driver/vendor_request.c -o vendor_request.o -O2 -Wall -DWINVER=0x50 0 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/power.c -o power.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\ "libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. gcc -c ./src/driver/driver_registry.c -o driver_registry.o -O2 -Wall -DWINVER=0x 500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver - I. ./src/driver/driver_registry.c: In function 'reg_get_properties': ./src/driver/driver_registry.c:148:4: warning: implicit declaration of function 'ObQueryNameString' gcc -c ./src/error.c -o error.o -O2 -Wall -DWINVER=0x500 -DLOG_APPNAME=\"libusb 0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I. windres -I./src ./src/driver/libusb_driver_rc.rc -o libusb_driver_rc.o gcc -o libusb0.sys abort_endpoint.o claim_interface.o clear_feature.o dispatch.o get_configuration.o get_descriptor.o get_interface.o get_status.o ioctl.o libus b_driver.o pnp.o release_interface.o reset_device.o reset_endpoint.o set_configu ration.o set_descriptor.o set_feature.o set_interface.o transfer.o vendor_reques t.o power.o driver_registry.o error.o libusb_driver_rc.o libusb0_drv.def -s -sh ared -Wl,--entry,_DriverEntry@8 -nostartfiles -nostdlib -L. -lusbd -lntoskrnl -l hal driver_registry.o:driver_registry.c:(.text+0x27a): undefined reference to `ObQue ryNameString' collect2: ld returned 1 exit status make: *** [libusb0.sys] Error 1 -- Xiaofan |