From 7f4f7bd7538bec65a162e6f19bf4c5e1139e1a5a Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Mon, 2 Aug 2010 23:13:17 +0100 Subject: reverted to using a (generated) .def file for DLL exports added libusb-1.0.def (plus reference in MS projects) removed LIBUSB_EXP/__declspec(dllexport) from libusb.h removed LIBUSB_DLL_BUILD macros added -Wl,--add-stdcall-alias linker option for MinGW/cygwin for DLL generation added sed script in autogen to update the libusb-1.0.def --- autogen.sh | 13 +++++- configure.ac | 4 +- ddk_build.cmd | 3 -- libusb/libusb-1.0.def | 56 ++++++++++++++++++++++ libusb/libusb.h | 118 ++++++++++++++++++++++------------------------- libusb/os/libusb_sources | 3 +- libusb_dll.dsp | 8 +++- libusb_dll.vcproj | 16 +++++-- libusb_dll_2008.vcproj | 16 +++++-- 9 files changed, 157 insertions(+), 80 deletions(-) create mode 100644 libusb/libusb-1.0.def diff --git a/autogen.sh b/autogen.sh index 10ac773..8c6dd32 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,5 +1,14 @@ #!/bin/sh +# rebuilds the Windows def file by parsing the core and exporting all API_EXPORTED call +create_def() +{ + echo "rebuidling libusb-1.0.def file" + echo "LIBRARY" > libusb/libusb-1.0.def + echo "EXPORTS" >> libusb/libusb-1.0.def + sed -n -e "s/.*API_EXPORTED.*\([[:blank:]]\)\(.*\)(.*/ \2/p" libusb/*.c >> libusb/libusb-1.0.def +} + # use glibtoolize if it is available (darwin) (glibtoolize --version) < /dev/null > /dev/null 2>&1 && LIBTOOLIZE=glibtoolize || LIBTOOLIZE=libtoolize @@ -14,4 +23,6 @@ autoheader || exit 1 autoconf || exit 1 automake -a -c || exit 1 ./configure --enable-maintainer-mode --enable-debug-log \ - --enable-examples-build $* \ No newline at end of file + --enable-examples-build $* +# rebuild .def, if sed is available +type -P sed &>/dev/null && create_def \ No newline at end of file diff --git a/configure.ac b/configure.ac index 02cfb14..634a7d7 100644 --- a/configure.ac +++ b/configure.ac @@ -57,7 +57,7 @@ case $host in threads="windows" LIBS="-lsetupapi -lole32 -ladvapi32" # -avoid-version to avoid a naming scheme such as libusb-0.dll - AM_LDFLAGS="-no-undefined -avoid-version" + AM_LDFLAGS="-no-undefined -avoid-version -Wl,--add-stdcall-alias" AM_CFLAGS="-std=c99" AC_CHECK_TOOL(RC, windres, no) ;; @@ -70,7 +70,7 @@ case $host in threads="posix" LIBS="-lsetupapi -lole32 -ladvapi32" AM_CFLAGS="-std=c99" - AM_LDFLAGS="-no-undefined -avoid-version" + AM_LDFLAGS="-no-undefined -avoid-version -Wl,--add-stdcall-alias" AC_CHECK_TOOL(RC, windres, no) ;; *) diff --git a/ddk_build.cmd b/ddk_build.cmd index 8323d8d..88d3c25 100644 --- a/ddk_build.cmd +++ b/ddk_build.cmd @@ -11,14 +11,11 @@ rem DLL or static lib selection (must use concatenation) if Test%1==TestDLL goto libusb_dll :libusb_static set TARGET=LIBRARY -set LIBDEF= goto libusb_common :libusb_dll set TARGET=DYNLINK -set LIBDEF=/DLIBUSB_DLL_BUILD :libusb_common echo TARGETTYPE=%TARGET% > target -echo LIBUSB_DEFINES=%LIBDEF% >> target copy target+libusb_sources sources >NUL 2>&1 del target @echo on diff --git a/libusb/libusb-1.0.def b/libusb/libusb-1.0.def new file mode 100644 index 0000000..aeb151a --- /dev/null +++ b/libusb/libusb-1.0.def @@ -0,0 +1,56 @@ +LIBRARY +EXPORTS + libusb_get_device_list + libusb_free_device_list + libusb_get_bus_number + libusb_get_device_address + libusb_get_max_packet_size + libusb_get_max_iso_packet_size + libusb_ref_device + libusb_unref_device + libusb_open + libusb_open_device_with_vid_pid + libusb_close + libusb_get_device + libusb_get_configuration + libusb_set_configuration + libusb_claim_interface + libusb_release_interface + libusb_set_interface_alt_setting + libusb_clear_halt + libusb_reset_device + libusb_kernel_driver_active + libusb_detach_kernel_driver + libusb_attach_kernel_driver + libusb_set_debug + libusb_init + libusb_exit + libusb_strerror + libusb_get_device_descriptor + libusb_get_active_config_descriptor + libusb_get_config_descriptor + libusb_get_config_descriptor_by_value + libusb_free_config_descriptor + libusb_get_string_descriptor_ascii + libusb_alloc_transfer + libusb_free_transfer + libusb_submit_transfer + libusb_cancel_transfer + libusb_try_lock_events + libusb_lock_events + libusb_unlock_events + libusb_event_handling_ok + libusb_event_handler_active + libusb_lock_event_waiters + libusb_unlock_event_waiters + libusb_wait_for_event + libusb_handle_events_timeout + libusb_handle_events + libusb_handle_events_locked + libusb_pollfds_handle_timeouts + libusb_get_next_timeout + libusb_set_pollfd_notifiers + libusb_get_pollfds + libusb_control_transfer + libusb_bulk_transfer + libusb_interrupt_transfer diff --git a/libusb/libusb.h b/libusb/libusb.h index 31500f0..e2f981d 100644 --- a/libusb/libusb.h +++ b/libusb/libusb.h @@ -47,13 +47,7 @@ #endif #endif -#if (defined(_WIN32) || defined(__CYGWIN__))&&defined(LIBUSB_DLL_BUILD) -#define LIBUSB_EXP __declspec(dllexport) -#else -#define LIBUSB_EXP -#endif - -#if (defined(_WIN32) || defined(__CYGWIN__)) +#if defined(_WIN32) || defined(__CYGWIN__) #define LIBUSB_API WINAPI #else #define LIBUSB_API @@ -808,51 +802,51 @@ struct libusb_transfer { ; }; -LIBUSB_EXP int LIBUSB_API libusb_init(libusb_context **ctx); -LIBUSB_EXP void LIBUSB_API libusb_exit(libusb_context *ctx); -LIBUSB_EXP void LIBUSB_API libusb_set_debug(libusb_context *ctx, int level); -LIBUSB_EXP const char *LIBUSB_API libusb_strerror(enum libusb_error errcode); +int LIBUSB_API libusb_init(libusb_context **ctx); +void LIBUSB_API libusb_exit(libusb_context *ctx); +void LIBUSB_API libusb_set_debug(libusb_context *ctx, int level); +const char *LIBUSB_API libusb_strerror(enum libusb_error errcode); -LIBUSB_EXP ssize_t LIBUSB_API libusb_get_device_list(libusb_context *ctx, +ssize_t LIBUSB_API libusb_get_device_list(libusb_context *ctx, libusb_device ***list); -LIBUSB_EXP void LIBUSB_API libusb_free_device_list(libusb_device **list, int unref_devices); -LIBUSB_EXP libusb_device* LIBUSB_API libusb_ref_device(libusb_device *dev); -LIBUSB_EXP void LIBUSB_API libusb_unref_device(libusb_device *dev); +void LIBUSB_API libusb_free_device_list(libusb_device **list, int unref_devices); +libusb_device* LIBUSB_API libusb_ref_device(libusb_device *dev); +void LIBUSB_API libusb_unref_device(libusb_device *dev); -LIBUSB_EXP int LIBUSB_API libusb_get_configuration(libusb_device_handle *dev, int *config); -LIBUSB_EXP int LIBUSB_API libusb_get_device_descriptor(libusb_device *dev, +int LIBUSB_API libusb_get_configuration(libusb_device_handle *dev, int *config); +int LIBUSB_API libusb_get_device_descriptor(libusb_device *dev, struct libusb_device_descriptor *desc); -LIBUSB_EXP int LIBUSB_API libusb_get_active_config_descriptor(libusb_device *dev, +int LIBUSB_API libusb_get_active_config_descriptor(libusb_device *dev, struct libusb_config_descriptor **config); -LIBUSB_EXP int LIBUSB_API libusb_get_config_descriptor(libusb_device *dev, uint8_t config_index, +int LIBUSB_API libusb_get_config_descriptor(libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config); -LIBUSB_EXP int LIBUSB_API libusb_get_config_descriptor_by_value(libusb_device *dev, +int LIBUSB_API libusb_get_config_descriptor_by_value(libusb_device *dev, uint8_t bConfigurationValue, struct libusb_config_descriptor **config); -LIBUSB_EXP void LIBUSB_API libusb_free_config_descriptor(struct libusb_config_descriptor *config); -LIBUSB_EXP uint8_t LIBUSB_API libusb_get_bus_number(libusb_device *dev); -LIBUSB_EXP uint8_t LIBUSB_API libusb_get_device_address(libusb_device *dev); -LIBUSB_EXP int LIBUSB_API libusb_get_max_packet_size(libusb_device *dev, unsigned char endpoint); -LIBUSB_EXP int LIBUSB_API libusb_get_max_iso_packet_size(libusb_device *dev, unsigned char endpoint); +void LIBUSB_API libusb_free_config_descriptor(struct libusb_config_descriptor *config); +uint8_t LIBUSB_API libusb_get_bus_number(libusb_device *dev); +uint8_t LIBUSB_API libusb_get_device_address(libusb_device *dev); +int LIBUSB_API libusb_get_max_packet_size(libusb_device *dev, unsigned char endpoint); +int LIBUSB_API libusb_get_max_iso_packet_size(libusb_device *dev, unsigned char endpoint); -LIBUSB_EXP int LIBUSB_API libusb_open(libusb_device *dev, libusb_device_handle **handle); -LIBUSB_EXP void LIBUSB_API libusb_close(libusb_device_handle *dev_handle); -LIBUSB_EXP libusb_device* LIBUSB_API libusb_get_device(libusb_device_handle *dev_handle); +int LIBUSB_API libusb_open(libusb_device *dev, libusb_device_handle **handle); +void LIBUSB_API libusb_close(libusb_device_handle *dev_handle); +libusb_device* LIBUSB_API libusb_get_device(libusb_device_handle *dev_handle); -LIBUSB_EXP int LIBUSB_API libusb_set_configuration(libusb_device_handle *dev, int configuration); -LIBUSB_EXP int LIBUSB_API libusb_claim_interface(libusb_device_handle *dev, int interface_number); -LIBUSB_EXP int LIBUSB_API libusb_release_interface(libusb_device_handle *dev, int interface_number); +int LIBUSB_API libusb_set_configuration(libusb_device_handle *dev, int configuration); +int LIBUSB_API libusb_claim_interface(libusb_device_handle *dev, int interface_number); +int LIBUSB_API libusb_release_interface(libusb_device_handle *dev, int interface_number); -LIBUSB_EXP libusb_device_handle* LIBUSB_API libusb_open_device_with_vid_pid(libusb_context *ctx, +libusb_device_handle* LIBUSB_API libusb_open_device_with_vid_pid(libusb_context *ctx, uint16_t vendor_id, uint16_t product_id); -LIBUSB_EXP int LIBUSB_API libusb_set_interface_alt_setting(libusb_device_handle *dev, +int LIBUSB_API libusb_set_interface_alt_setting(libusb_device_handle *dev, int interface_number, int alternate_setting); -LIBUSB_EXP int LIBUSB_API libusb_clear_halt(libusb_device_handle *dev, unsigned char endpoint); -LIBUSB_EXP int LIBUSB_API libusb_reset_device(libusb_device_handle *dev); +int LIBUSB_API libusb_clear_halt(libusb_device_handle *dev, unsigned char endpoint); +int LIBUSB_API libusb_reset_device(libusb_device_handle *dev); -LIBUSB_EXP int LIBUSB_API libusb_kernel_driver_active(libusb_device_handle *dev, int interface_number); -LIBUSB_EXP int LIBUSB_API libusb_detach_kernel_driver(libusb_device_handle *dev, int interface_number); -LIBUSB_EXP int LIBUSB_API libusb_attach_kernel_driver(libusb_device_handle *dev, int interface_number); +int LIBUSB_API libusb_kernel_driver_active(libusb_device_handle *dev, int interface_number); +int LIBUSB_API libusb_detach_kernel_driver(libusb_device_handle *dev, int interface_number); +int LIBUSB_API libusb_attach_kernel_driver(libusb_device_handle *dev, int interface_number); /* async I/O */ @@ -926,10 +920,10 @@ static inline void libusb_fill_control_setup(unsigned char *buffer, setup->wLength = libusb_cpu_to_le16(wLength); } -LIBUSB_EXP struct libusb_transfer* LIBUSB_API libusb_alloc_transfer(int iso_packets); -LIBUSB_EXP int LIBUSB_API libusb_submit_transfer(struct libusb_transfer *transfer); -LIBUSB_EXP int LIBUSB_API libusb_cancel_transfer(struct libusb_transfer *transfer); -LIBUSB_EXP void LIBUSB_API libusb_free_transfer(struct libusb_transfer *transfer); +struct libusb_transfer* LIBUSB_API libusb_alloc_transfer(int iso_packets); +int LIBUSB_API libusb_submit_transfer(struct libusb_transfer *transfer); +int LIBUSB_API libusb_cancel_transfer(struct libusb_transfer *transfer); +void LIBUSB_API libusb_free_transfer(struct libusb_transfer *transfer); /** \ingroup asyncio * Helper function to populate the required \ref libusb_transfer fields @@ -1156,15 +1150,15 @@ static inline unsigned char *libusb_get_iso_packet_buffer_simple( /* sync I/O */ -LIBUSB_EXP int LIBUSB_API libusb_control_transfer(libusb_device_handle *dev_handle, +int LIBUSB_API libusb_control_transfer(libusb_device_handle *dev_handle, uint8_t request_type, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, uint16_t wLength, unsigned int timeout); -LIBUSB_EXP int LIBUSB_API libusb_bulk_transfer(libusb_device_handle *dev_handle, +int LIBUSB_API libusb_bulk_transfer(libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout); -LIBUSB_EXP int LIBUSB_API libusb_interrupt_transfer(libusb_device_handle *dev_handle, +int LIBUSB_API libusb_interrupt_transfer(libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout); @@ -1210,25 +1204,25 @@ static inline int libusb_get_string_descriptor(libusb_device_handle *dev, langid, data, (uint16_t) length, 1000); } -LIBUSB_EXP int LIBUSB_API libusb_get_string_descriptor_ascii(libusb_device_handle *dev, +int LIBUSB_API libusb_get_string_descriptor_ascii(libusb_device_handle *dev, uint8_t desc_index, unsigned char *data, int length); /* polling and timeouts */ -LIBUSB_EXP int LIBUSB_API libusb_try_lock_events(libusb_context *ctx); -LIBUSB_EXP void LIBUSB_API libusb_lock_events(libusb_context *ctx); -LIBUSB_EXP void LIBUSB_API libusb_unlock_events(libusb_context *ctx); -LIBUSB_EXP int LIBUSB_API libusb_event_handling_ok(libusb_context *ctx); -LIBUSB_EXP int LIBUSB_API libusb_event_handler_active(libusb_context *ctx); -LIBUSB_EXP void LIBUSB_API libusb_lock_event_waiters(libusb_context *ctx); -LIBUSB_EXP void LIBUSB_API libusb_unlock_event_waiters(libusb_context *ctx); -LIBUSB_EXP int LIBUSB_API libusb_wait_for_event(libusb_context *ctx, struct timeval *tv); - -LIBUSB_EXP int LIBUSB_API libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv); -LIBUSB_EXP int LIBUSB_API libusb_handle_events(libusb_context *ctx); -LIBUSB_EXP int LIBUSB_API libusb_handle_events_locked(libusb_context *ctx, struct timeval *tv); -LIBUSB_EXP int LIBUSB_API libusb_pollfds_handle_timeouts(libusb_context *ctx); -LIBUSB_EXP int LIBUSB_API libusb_get_next_timeout(libusb_context *ctx, struct timeval *tv); +int LIBUSB_API libusb_try_lock_events(libusb_context *ctx); +void LIBUSB_API libusb_lock_events(libusb_context *ctx); +void LIBUSB_API libusb_unlock_events(libusb_context *ctx); +int LIBUSB_API libusb_event_handling_ok(libusb_context *ctx); +int LIBUSB_API libusb_event_handler_active(libusb_context *ctx); +void LIBUSB_API libusb_lock_event_waiters(libusb_context *ctx); +void LIBUSB_API libusb_unlock_event_waiters(libusb_context *ctx); +int LIBUSB_API libusb_wait_for_event(libusb_context *ctx, struct timeval *tv); + +int LIBUSB_API libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv); +int LIBUSB_API libusb_handle_events(libusb_context *ctx); +int LIBUSB_API libusb_handle_events_locked(libusb_context *ctx, struct timeval *tv); +int LIBUSB_API libusb_pollfds_handle_timeouts(libusb_context *ctx); +int LIBUSB_API libusb_get_next_timeout(libusb_context *ctx, struct timeval *tv); /** \ingroup poll * File descriptor for polling @@ -1267,8 +1261,8 @@ typedef void (LIBUSB_API *libusb_pollfd_added_cb)(int fd, short events, void *us */ typedef void (LIBUSB_API *libusb_pollfd_removed_cb)(int fd, void *user_data); -LIBUSB_EXP const struct libusb_pollfd** LIBUSB_API libusb_get_pollfds(libusb_context *ctx); -LIBUSB_EXP void LIBUSB_API libusb_set_pollfd_notifiers(libusb_context *ctx, +const struct libusb_pollfd** LIBUSB_API libusb_get_pollfds(libusb_context *ctx); +void LIBUSB_API libusb_set_pollfd_notifiers(libusb_context *ctx, libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb, void *user_data); diff --git a/libusb/os/libusb_sources b/libusb/os/libusb_sources index 467e1f8..81d63c2 100644 --- a/libusb/os/libusb_sources +++ b/libusb/os/libusb_sources @@ -1,7 +1,6 @@ #TARGETTYPE is not defined, to allow selection between static lib or DLL with ddk_build TARGETNAME=libusb-1.0 -#Must be set, else DLL build will look for libusb-1.0.def -DLLDEF= +DLLDEF=..\libusb-1.0.def !IFNDEF MSC_WARNING_LEVEL MSC_WARNING_LEVEL=/W3 diff --git a/libusb_dll.dsp b/libusb_dll.dsp index 22fc0f3..43b7a30 100644 --- a/libusb_dll.dsp +++ b/libusb_dll.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBUSB_DLL_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "msvc" /I "libusb" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBUSB_DLL_BUILD" /FR /FD /EHsc /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "msvc" /I "libusb" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /FD /EHsc /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" @@ -69,7 +69,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBUSB_DLL_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "msvc" /I "libusb" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBUSB_DLL_BUILD" /FR /FD /EHsc /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "msvc" /I "libusb" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /FD /EHsc /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" @@ -114,6 +114,10 @@ SOURCE=".\libusb\libusb-1.0.rc" # End Source File # Begin Source File +SOURCE=".\msvc\libusb-1.0.def" +# End Source File +# Begin Source File + SOURCE=.\libusb\os\linux_usbfs.c # PROP Exclude_From_Build 1 # End Source File diff --git a/libusb_dll.vcproj b/libusb_dll.vcproj index 6784c8b..78d2436 100644 --- a/libusb_dll.vcproj +++ b/libusb_dll.vcproj @@ -44,7 +44,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=".\msvc;.\libusb" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;LIBUSB_DLL_BUILD" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -67,6 +67,7 @@ AdditionalDependencies="setupapi.lib ole32.lib advapi32.lib" OutputFile="$(OutDir)\libusb-1.0_debug.dll" LinkIncremental="2" + ModuleDefinitionFile="libusb\libusb-1.0.def" GenerateDebugInformation="true" SubSystem="2" TargetMachine="1" @@ -122,7 +123,7 @@ + + diff --git a/libusb_dll_2008.vcproj b/libusb_dll_2008.vcproj index d814ad5..bb0d4b1 100644 --- a/libusb_dll_2008.vcproj +++ b/libusb_dll_2008.vcproj @@ -44,7 +44,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=".\msvc;.\libusb" - PreprocessorDefinitions="_WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LIBUSB_DLL_BUILD" + PreprocessorDefinitions="_WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" @@ -64,6 +64,7 @@ Name="VCLinkerTool" AdditionalDependencies="setupapi.lib advapi32.lib ole32.lib" OutputFile="$(OutDir)\libusb-1.0_debug.dll" + ModuleDefinitionFile="libusb\libusb-1.0.def" EmbedManagedResourceFile="libusb-1.0.rc" GenerateDebugInformation="true" /> @@ -116,7 +117,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=".\msvc;.\libusb" - PreprocessorDefinitions="_WIN32;_WIN64;_DEBUG;_CRT_SECURE_NO_WARNINGS;LIBUSB_DLL_BUILD" + PreprocessorDefinitions="_WIN32;_WIN64;_DEBUG;_CRT_SECURE_NO_WARNINGS" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" @@ -136,6 +137,7 @@ Name="VCLinkerTool" AdditionalDependencies="setupapi.lib advapi32.lib ole32.lib" OutputFile="$(OutDir)\libusb-1.0_debug.dll" + ModuleDefinitionFile="libusb\libusb-1.0.def" EmbedManagedResourceFile="libusb-1.0.rc" GenerateDebugInformation="true" /> @@ -189,7 +191,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories=".\msvc;.\libusb" - PreprocessorDefinitions="_WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;LIBUSB_DLL_BUILD" + PreprocessorDefinitions="_WIN32;_LIB;_CRT_SECURE_NO_WARNINGS" RuntimeLibrary="0" EnableFunctionLevelLinking="true" WarningLevel="3" @@ -208,6 +210,7 @@ Name="VCLinkerTool" AdditionalDependencies="setupapi.lib advapi32.lib ole32.lib" OutputFile="$(OutDir)\libusb-1.0.dll" + ModuleDefinitionFile="libusb\libusb-1.0.def" EmbedManagedResourceFile="libusb-1.0.rc" /> + + -- cgit v1.2.1