]> granicus.if.org Git - graphviz/commitdiff
remove import/export declaration of lt_preloaded_sybols in gvcext.h
authorMagnus Jacobsson <Magnus.Jacobsson@berotec.se>
Wed, 21 Jul 2021 10:04:18 +0000 (12:04 +0200)
committerMagnus Jacobsson <Magnus.Jacobsson@berotec.se>
Tue, 31 Aug 2021 15:47:02 +0000 (17:47 +0200)
lt_preloaded_symbols is always defined in the executable that links to
the gvc lib, so it should only have a standard extern declaration.

Fixes this error with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cmd/dot/CMakeFiles/dot.dir/dot.c.obj:dot.c:(.text+0x1e9): undefined reference to `__imp_lt_preloaded_symbols'

Also removes this warning with MinGw:

C:/Users/magja/graphviz/cmd/dot/no_builtins.c:13:14: warning: 'lt_preloaded_symbols' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   13 | lt_symlist_t lt_preloaded_symbols[] = { { 0, 0 } };
      |              ^~~~~~~~~~~~~~~~~~~~

Also removes these three warnings in standard Windows MSVC builds:

C:\Users\magja\graphviz\cmd\dot\no_builtins.c(13,37): warning C4273: 'lt_preloaded_symbols': inconsistent dll linkage [C:\Users\magja\graphviz\build\cmd\dot\dot.vcxproj]
C:\Users\magja\graphviz\cmd\tools\gvpack.c(34,37): warning C4273: 'lt_preloaded_symbols': inconsistent dll linkage [C:\Users\magja\graphviz\build\cmd\tools\gvpack.vcxproj]
LINK : warning LNK4217: symbol 'lt_preloaded_symbols' defined in 'no_builtins.obj' is imported by 'dot.obj' in function 'main' [C:\Users\magja\graphviz\build\cmd\dot\dot.vcxproj]

lib/gvc/gvcext.h

index ab70b397a50cef29690efe0a7c92c86d1bda312b..0f7029b42b8342b937b3046642ea99959674a447 100644 (file)
@@ -60,29 +60,9 @@ extern "C" {
 
     typedef struct gvplugin_available_s gvplugin_available_t;
 
-/*visual studio*/
-#ifdef _WIN32
-#ifndef GVC_EXPORTS
-__declspec(dllimport) extern lt_symlist_t lt_preloaded_symbols[];
-#else
 #if !defined(LTDL_H)
 extern lt_symlist_t lt_preloaded_symbols[];
 #endif
-#endif
-#endif
-/*end visual studio*/
-
-
-#ifndef _WIN32
-#if defined(GVDLL)
-       __declspec(dllexport) extern lt_symlist_t lt_preloaded_symbols[];
-#else
-#if !defined(LTDL_H)
-       extern lt_symlist_t lt_preloaded_symbols[];
-#endif
-#endif
-#endif
-
 
 #ifdef __cplusplus
 }