--- a/gschem/include/globals.h
+++ b/gschem/include/globals.h
@@ -27,7 +27,7 @@
 extern GList *global_window_list;
 
 /* Manager for recently used files */
-GtkRecentManager *recent_manager;
+extern GtkRecentManager *recent_manager;
 
 /* colors */
 extern GdkColor white;
--- a/gschem/src/globals.c
+++ b/gschem/src/globals.c
@@ -28,6 +28,8 @@
 /* window list */
 GList *global_window_list = NULL;
 
+GtkRecentManager *recent_manager = NULL;
+
 char *rc_filename     = NULL;
 char *output_filename = NULL;
 
--- a/gattrib/include/globals.h
+++ b/gattrib/include/globals.h
@@ -88,7 +88,7 @@
  * structs.h
  */
 /*------------------------------------------------------------------*/
-TOPLEVEL *pr_current;
+extern TOPLEVEL *pr_current;
 
 /*------------------------------------------------------------------*/
 /*!
@@ -97,7 +97,7 @@ TOPLEVEL *pr_current;
  * callbacks.  It is defined in structs.h
  */
 /*------------------------------------------------------------------*/
-SHEET_DATA *sheet_head;
+extern SHEET_DATA *sheet_head;
 
 /*------------------------------------------------------------------
  * GTKsheet includes: stuff for dealing with windows.
@@ -106,18 +106,18 @@ SHEET_DATA *sheet_head;
 #define DEFAULT_SPACE 8
 #define NUM_SHEETS 3            /* Components, Nets, and Pins */
 
-GtkWidget *window;              /* Main window */
-GtkWidget *notebook;
+extern GtkWidget *window;              /* Main window */
+extern GtkWidget *notebook;
 
-GtkSheet **sheets;             /* These are the spreadsheet widgets themselves */
+extern GtkSheet **sheets;             /* These are the spreadsheet widgets themselves */
 
-GtkWidget **scrolled_windows;
-GtkWidget *entry;
-GtkWidget *location;
-GtkWidget *left_button;
-GtkWidget *center_button;
-GtkWidget *right_button;
-GtkWidget *label;
+extern GtkWidget **scrolled_windows;
+extern GtkWidget *entry;
+extern GtkWidget *location;
+extern GtkWidget *left_button;
+extern GtkWidget *center_button;
+extern GtkWidget *right_button;
+extern GtkWidget *label;
 
 /* command line switch settings */
 extern int verbose_mode;
--- a/gattrib/src/globals.c
+++ b/gattrib/src/globals.c
@@ -34,6 +34,23 @@
 #include "../include/prototype.h"  /* function prototypes */
 #include "../include/globals.h"
 
+TOPLEVEL *pr_current;
+
+SHEET_DATA *sheet_head;
+
+GtkWidget *window;
+GtkWidget *notebook;
+
+GtkSheet **sheets;
+
+GtkWidget **scrolled_windows;
+GtkWidget *entry;
+GtkWidget *location;
+GtkWidget *left_button;
+GtkWidget *center_button;
+GtkWidget *right_button;
+GtkWidget *label;
+
 /* command line arguments */
 int verbose_mode=FALSE; //!< Reflects the value of the command line flag
 int quiet_mode=FALSE;   //!< Reflects the value of the command line flag
