On Fri, Sep 10, 2010 at 9:52 AM, Ozkan Sezer <[email protected]> wrote: > On Fri, Sep 10, 2010 at 9:47 AM, Xiaofan Chen <[email protected]> wrote: >> On Fri, Sep 10, 2010 at 2:07 PM, Ozkan Sezer <[email protected]> wrote: >> >>> Well, src/driver/usbdlib_gcc.h at line around 23, I added : >>> >>> #if !defined(DDKAPI) >>> #define DDKAPI NTAPI >>> #endif >>> >>> ... and error.c compiled just fine. >>> >> >> Thanks a lot for the fast help. Now every files can be compiled. The linking >> step failed. One step closer. >> >> mc...@win7homex64_pc /d/work/mingw-w64/libusb-win32-src-1.2.1.20 >> $ make driver >> gcc -c ./src/driver/abort_endpoint.c -o abort_endpoint.o -O2 -Wall >> -mno-cygwin - >> DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./sr >> c/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/abort_endpoint.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/claim_interface.c -o claim_interface.o -O2 -Wall >> -mno-cygwin >> -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./ >> src/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/claim_interface.c:21: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/clear_feature.c -o clear_feature.o -O2 -Wall -mno-cygwin >> -DW >> INVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./src/ >> driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/clear_feature.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/dispatch.c -o dispatch.o -O2 -Wall -mno-cygwin >> -DWINVER=0x50 >> 0 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver >> -I. >> /src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/dispatch.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/get_configuration.c -o get_configuration.o -O2 -Wall >> -mno-cy >> gwin -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER >> -I./src >> -I./src/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/get_configuration.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/get_descriptor.c -o get_descriptor.o -O2 -Wall >> -mno-cygwin - >> DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./sr >> c/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/get_descriptor.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/get_interface.c -o get_interface.o -O2 -Wall -mno-cygwin >> -DW >> INVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./src/ >> driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/get_interface.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/get_status.c -o get_status.o -O2 -Wall -mno-cygwin >> -DWINVER= >> 0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./src/driver >> -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/get_status.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/ioctl.c -o ioctl.o -O2 -Wall -mno-cygwin -DWINVER=0x500 >> -DL >> OG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver >> -I./src/d >> dk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/ioctl.c:21: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> ./src/driver/ioctl.c: In function 'dispatch_ioctl': >> ./src/driver/ioctl.c:326:4: warning: pointer targets in passing argument 2 >> of 'g >> et_configuration' differ in signedness >> ./src/driver/libusb_driver.h:218:10: note: expected 'unsigned char *' but >> argume >> nt is of type 'char *' >> ./src/driver/ioctl.c:346:32: warning: pointer targets in passing argument 3 >> of ' >> get_interface' differ in signedness >> ./src/driver/libusb_driver.h:225: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 -mno-cygwin >> -DW >> INVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./src/ >> driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/libusb_driver.c:22: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/pnp.c -o pnp.o -O2 -Wall -mno-cygwin -DWINVER=0x500 >> -DLOG_A >> PPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver >> -I./src/ddk - >> I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/pnp.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/release_interface.c -o release_interface.o -O2 -Wall >> -mno-cy >> gwin -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER >> -I./src >> -I./src/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/release_interface.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/reset_device.c -o reset_device.o -O2 -Wall -mno-cygwin >> -DWIN >> VER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./src/dr >> iver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/reset_device.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/reset_endpoint.c -o reset_endpoint.o -O2 -Wall >> -mno-cygwin - >> DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./sr >> c/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/reset_endpoint.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/set_configuration.c -o set_configuration.o -O2 -Wall >> -mno-cy >> gwin -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER >> -I./src >> -I./src/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/set_configuration.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/set_descriptor.c -o set_descriptor.o -O2 -Wall >> -mno-cygwin - >> DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./sr >> c/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/set_descriptor.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/set_feature.c -o set_feature.o -O2 -Wall -mno-cygwin >> -DWINVE >> R=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./src/driv >> er -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/set_feature.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/set_interface.c -o set_interface.o -O2 -Wall -mno-cygwin >> -DW >> INVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./src/ >> driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/set_interface.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/transfer.c -o transfer.o -O2 -Wall -mno-cygwin >> -DWINVER=0x50 >> 0 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver >> -I. >> /src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/transfer.c:21: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> ./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 >> -mno-cygwin - >> DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./sr >> c/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/vendor_request.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/power.c -o power.o -O2 -Wall -mno-cygwin -DWINVER=0x500 >> -DL >> OG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver >> -I./src/d >> dk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/power.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/driver/driver_registry.c -o driver_registry.o -O2 -Wall >> -mno-cygwin >> -DWINVER=0x500 -DLOG_APPNAME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src >> -I./ >> src/driver -I./src/ddk -I. >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/driver/libusb_driver.h:28, >> from ./src/driver/driver_registry.c:20: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> gcc -c ./src/error.c -o error.o -O2 -Wall -mno-cygwin -DWINVER=0x500 >> -DLOG_APPN >> AME=\"libusb0-sys\" -DTARGETTYPE=DRIVER -I./src -I./src/driver -I./src/ddk >> -I. >> >> In file included from ./src/ddk/ntddk.h:38:0, >> from ./src/error.c:28: >> ./src/ddk/wdm.h:6669:36: warning: declaration does not declare anything >> 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,_driveren...@8 -nostartfiles -nostdlib -L. -lusbd >> -lntoskrnl -l >> hal >> d:/tdm/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.1/../../../../x86_64-w64-mi >> ngw32/bin/ld.exe: warning: cannot find entry symbol _driveren...@8; >> defaulting t >> o 0000000068641000 > > Don't know this one ... >
One note here that just crossed my mind: why are you using a __stdcall suffix DriverEntry, _and_ you are adding a leading underscore to it? >> libusb_driver.o:libusb_driver.c:(.text+0x6a9): undefined reference to >> `_Interloc >> kedIncrement' >> libusb_driver.o:libusb_driver.c:(.text+0x6d4): undefined reference to >> `_Interloc >> kedDecrement' >> libusb_driver.o:libusb_driver.c:(.text+0x70d): undefined reference to >> `_Interloc >> kedDecrement' >> transfer.o:transfer.c:(.text+0x149): undefined reference to >> `_InterlockedIncreme >> nt' >> transfer.o:transfer.c:(.text+0x19a): undefined reference to >> `_InterlockedDecreme >> nt' >> transfer.o:transfer.c:(.text+0x1cd): undefined reference to >> `_InterlockedDecreme >> nt' >> transfer.o:transfer.c:(.text+0x324): undefined reference to >> `_InterlockedDecreme >> nt' >> transfer.o:transfer.c:(.text+0x457): undefined reference to >> `_InterlockedExchang >> ePointer' >> transfer.o:transfer.c:(.text+0x4ed): undefined reference to >> `_InterlockedExchang >> ePointer' >> transfer.o:transfer.c:(.text+0x66d): undefined reference to >> `_InterlockedIncreme >> nt' >> transfer.o:transfer.c:(.text+0xe3f): undefined reference to >> `_InterlockedExchang >> ePointer' >> transfer.o:transfer.c:(.text+0xf76): undefined reference to >> `_InterlockedIncreme >> nt' > > Well this is the price if we insist on declaring those ms intrinsics > as _CRT_INLINE > and not as __forceinline. Leaving this to Kai. > OK, I was too quick to judge, because we get the prototypes of the Interlocked* stuff from wdm.h here. So we are supposed to get the symbols from ntoskrnl.exe and we are missing those entries in our ntoskrnl.def file??? Jon? >> collect2: ld returned 1 exit status >> make: *** [libusb0.sys] Error 1 >> >> -- >> Xiaofan > > -- > Ozkan > -- Ozkan ------------------------------------------------------------------------------ Automate Storage Tiering Simply Optimize IT performance and efficiency through flexible, powerful, automated storage tiering capabilities. View this brief to learn how you can reduce costs and improve performance. http://p.sf.net/sfu/dell-sfdev2dev _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
