From fcc65b6ad403bc9b59591291c939c8257b8b91d9 Mon Sep 17 00:00:00 2001 From: CNLohr Date: Fri, 17 Mar 2017 00:26:47 -0400 Subject: Fix windows build to allow for linktime code genreation. --- .gitignore | 3 +++ include/libsurvive/survive.h | 6 ++++-- winbuild/libsurvive/libsurvive.vcxproj | 20 ++++++++++++-------- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index a7db3ac..d692b50 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ windows/calinfo - Copy/WM1_points.csv windows/udev[USB_DEV_LIGHTHOUSE] windows/udev[USB_DEV_LIGHTHOUSE] windows/config.json +*.ipch +winbuild/.vs/libsurvive/v15/.suo +*.tlog diff --git a/include/libsurvive/survive.h b/include/libsurvive/survive.h index e3e167a..28180e4 100644 --- a/include/libsurvive/survive.h +++ b/include/libsurvive/survive.h @@ -136,10 +136,12 @@ void survive_default_angle_process( SurviveObject * so, int sensor_id, int acode ////////////////////// Survive Drivers //////////////////////////// -void RegisterDriver( const char * name, void * data ); +void RegisterDriver(const char * name, void * data); #ifdef _WIN32 -#define REGISTER_LINKTIME( func ) +#define REGISTER_LINKTIME( func ) \ + __pragma(comment(linker,"/export:REGISTER"#func));\ + void REGISTER##func() { RegisterDriver(#func, &func); } #else #define REGISTER_LINKTIME( func ) \ void __attribute__((constructor)) REGISTER##func() { RegisterDriver(#func, &func); } diff --git a/winbuild/libsurvive/libsurvive.vcxproj b/winbuild/libsurvive/libsurvive.vcxproj index dc23907..2a5029c 100644 --- a/winbuild/libsurvive/libsurvive.vcxproj +++ b/winbuild/libsurvive/libsurvive.vcxproj @@ -30,27 +30,27 @@ StaticLibrary true v141 - Unicode + MultiByte StaticLibrary false v141 true - Unicode + MultiByte StaticLibrary true v141 - Unicode + MultiByte StaticLibrary false v141 true - Unicode + MultiByte @@ -77,12 +77,13 @@ Level3 Disabled - USE_DOUBLE;MANUAL_REGISTRATION;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;_DEBUG;_LIB;%(PreprocessorDefinitions) + USE_DOUBLE;RUNTIME_SYMNUM;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;_DEBUG;_LIB;%(PreprocessorDefinitions) ..\..\windows;..\..\include\libsurvive;..\..\redist;%(AdditionalIncludeDirectories) Windows + @@ -90,12 +91,13 @@ Level3 Disabled - USE_DOUBLE;MANUAL_REGISTRATION;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + USE_DOUBLE;RUNTIME_SYMNUM;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) ..\..\windows;..\..\include\libsurvive;..\..\redist;%(AdditionalIncludeDirectories) Windows + @@ -105,7 +107,7 @@ MaxSpeed true true - USE_DOUBLE;MANUAL_REGISTRATION;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + USE_DOUBLE;RUNTIME_SYMNUM;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) ..\..\windows;..\..\include\libsurvive;..\..\redist;%(AdditionalIncludeDirectories) @@ -113,6 +115,7 @@ true true + @@ -122,7 +125,7 @@ MaxSpeed true true - USE_DOUBLE;MANUAL_REGISTRATION;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;NDEBUG;_LIB;%(PreprocessorDefinitions) + USE_DOUBLE;RUNTIME_SYMNUM;RUNTIME_SYMNUMX;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;NDEBUG;_LIB;%(PreprocessorDefinitions) ..\..\windows;..\..\include\libsurvive;..\..\redist;%(AdditionalIncludeDirectories) @@ -130,6 +133,7 @@ true true + -- cgit v1.2.3