summaryrefslogtreecommitdiff
path: root/dbaccess/win32/source/odbcconfig
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2023-02-24 11:38:03 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2023-02-24 17:05:49 +0000
commit3fc2c054c505b8c99c3f8e64561de242bcd7d3b3 (patch)
tree220b287e6957e97f448c693336086ee261425d27 /dbaccess/win32/source/odbcconfig
parent1786ddbde4b44575321aa6b9d9d367a964969063 (diff)
Fix build in a specific VS2022 environment
Building Executable_odbcconfig using VS2022 failed for me reproducibly for some time, with mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "C:/lo/src/build/instdir/program/odbcconfig.exe". The file or directory is corrupted and unreadable. make[1]: *** [C:/lo/src/core/dbaccess/Executable_odbcconfig.mk:10: C:/lo/src/build/instdir/program/odbcconfig.exe] Error 139 It is caused by linking odbccp32, and legacy_stdio_definitions required by the latter with current versions of UCRT. It seems to work OK for others; but being unable to find what's different on my system, I have this workaround, using run-time loading instead. Change-Id: Iab1fe7747ca6e677d89a120778ca805465a05611 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147627 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'dbaccess/win32/source/odbcconfig')
-rw-r--r--dbaccess/win32/source/odbcconfig/odbcconfig.cxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/dbaccess/win32/source/odbcconfig/odbcconfig.cxx b/dbaccess/win32/source/odbcconfig/odbcconfig.cxx
index 0cc48725c5e1..127d840c839e 100644
--- a/dbaccess/win32/source/odbcconfig/odbcconfig.cxx
+++ b/dbaccess/win32/source/odbcconfig/odbcconfig.cxx
@@ -18,11 +18,9 @@
*/
-#if !defined WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <odbcinst.h>
+#include <sal/config.h>
+
+#include <systools/win32/odbccp32.hxx>
// displays the error text for the last error (GetLastError), and returns this error value
static int displayLastError()
@@ -102,7 +100,9 @@ extern "C" int APIENTRY wWinMain( HINSTANCE _hAppInstance, HINSTANCE, LPWSTR, in
if ( !IsWindow( hAppWindow ) )
return displayLastError();
- if (!SQLManageDataSources(hAppWindow))
+ // Have a odbccp32 variable, to not call FreeLibrary before displayLastError
+ sal::systools::odbccp32 odbccp32;
+ if (!odbccp32.SQLManageDataSources(hAppWindow))
return displayLastError();
return 0;