title: multiple definition of `something'
body: <p>In "my_header.h" I defined</p>
  
  <pre><code>FILE *f;
  char *logfile = "my_output.txt";
  #define OPEN_LOG     f = fopen(logfile, "a")
  #define CLOSE_LOG    fclose(f)
  </code></pre>
  
  <p>and in "my_source.c", I used it in this way</p>
  
  <pre><code>#include "my_header.h"
  ....
  OPEN_LOG;
  fprintf(f, "some strings\n");
  CLOSE_LOG;
  </code></pre>
  
  <p>However the linker says</p>
  
  <pre><code>my_source.o:(.data+0x0): multiple definition of `logfile'
  </code></pre>
  
  <p>How can I fix that?</p>