<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=Generator content="Microsoft Word 10 (filtered)">

<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.emailstyle17
        {font-family:Arial;
        color:windowtext;}
span.EmailStyle18
        {font-family:Arial;
        color:navy;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The solution to the following problem (which
I was having):</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>I&#8217;m trying to
compile an exercise (ex23.c) from Galib in MS Visual Studio 2003, V7.1.3088, on
a Windows XP machine.</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>I&#8217;ve tried Kevin Druhan&#8217;s
solution, including changing the #includes to read *.hpp *.cpp. I can get a
very simple example to run fine this way.</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>However, with ex23.c I
errors thus:</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;int __cdecl GARealArithmeticCrossover(class GAGenome const &amp;,class GAGenome
const &amp;,class GAGenome *,class GAGenome *)&quot; (?GARealArithmeticCrossover@@YAHABVGAGenome@@0PAV1@1@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;int __cdecl GARealBlendCrossover(class GAGenome const &amp;,class GAGenome
const &amp;,class GAGenome *,class GAGenome *)&quot; (?GARealBlendCrossover@@YAHABVGAGenome@@0PAV1@1@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;int __cdecl GARealGaussianMutator(class GAGenome &amp;,float)&quot; (?GARealGaussianMutator@@YAHAAVGAGenome@@M@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: __thiscall GA1DArrayAlleleGenome&lt;float&gt;::GA1DArrayAlleleGenome&lt;float&gt;(class
GAAlleleSetArray&lt;float&gt; const &amp;,float (__cdecl*)(class GAGenome
&amp;),void *)&quot;
(??0?$GA1DArrayAlleleGenome@M@@QAE@ABV?$GAAlleleSetArray@M@@P6AMAAVGAGenome@@@ZPAX@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: __thiscall GA1DArrayAlleleGenome&lt;float&gt;::GA1DArrayAlleleGenome&lt;float&gt;(unsigned
int,class GAAlleleSet&lt;float&gt; const &amp;,float (__cdecl*)(class GAGenome
&amp;),void *)&quot; (??0?$GA1DArrayAlleleGenome@M@@QAE@IABV?$GAAlleleSet@M@@P6AMAAVGAGenome@@@ZPAX@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: float __thiscall GAAlleleSet&lt;float&gt;::allele(unsigned int)const
&quot; (?allele@?$GAAlleleSet@M@@QBEMI@Z) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: float __thiscall GAAlleleSet&lt;float&gt;::allele(void)const
&quot; (?allele@?$GAAlleleSet@M@@QBEMXZ) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual __thiscall GA1DArrayAlleleGenome&lt;float&gt;::~GA1DArrayAlleleGenome&lt;float&gt;(void)&quot;
(??1?$GA1DArrayAlleleGenome@M@@UAE@XZ) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual char const * __thiscall
GA1DArrayAlleleGenome&lt;float&gt;::className(void)const &quot;
(?className@?$GA1DArrayAlleleGenome@M@@UBEPBDXZ) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual int __thiscall GA1DArrayAlleleGenome&lt;float&gt;::classID(void)const
&quot; (?classID@?$GA1DArrayAlleleGenome@M@@UBEHXZ) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual int __thiscall GA1DArrayAlleleGenome&lt;float&gt;::read(class
std::basic_istream&lt;char,struct std::char_traits&lt;char&gt; &gt;
&amp;)&quot;
(?read@?$GA1DArrayAlleleGenome@M@@UAEHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester fatal error
LNK1169: one or more multiply defined symbols found</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>I have also tried leaving
the .c files as .c files, setting the Project and File options to /TP, and
including the folder that contains the ./ga folder in the Projects VC++
Directories (so I don&#8217;t have to change</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&lt;ga/whatever.c&gt; to
&#8220;whatever.cpp&#8221;. In this case I still get the above errors.</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Is to remove the files </span></font><font
size=2 face="Courier New"><span lang=EN-NZ style='font-size:10.0pt;font-family:
"Courier New"'>GARealGenome.cpp and GAStringGenome.cpp from the Solution (right
click in Solution Explorer and Remove).</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt;font-family:"Courier New"'>Thanks to Matthew Wall for
the answer,</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-NZ
style='font-size:10.0pt;font-family:"Courier New"'>Regards,</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma'>-----Original Message-----<br>
<b><span style='font-weight:bold'>From:</span></b> Mike Cooling
[mailto:m.cooling@auckland.ac.nz] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Wednesday, 26 April 2006
1:47 p.m.<br>
<b><span style='font-weight:bold'>To:</span></b> 'galib@mit.edu'<br>
<b><span style='font-weight:bold'>Subject:</span></b> Multiple definitions in
MS Visual Studio 2003, V7.1.3088</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>Hi</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>I&#8217;m trying to
compile an exercise (ex23.c) from Galib in MS Visual Studio 2003, V7.1.3088, on
a Windows XP machine.</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>I&#8217;ve tried Kevin
Druhan&#8217;s solution, including changing the #includes to read *.hpp *.cpp.
I can get a very simple example to run fine this way.</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>However, with ex23.c I
errors thus:</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;int __cdecl GARealArithmeticCrossover(class GAGenome const &amp;,class
GAGenome const &amp;,class GAGenome *,class GAGenome *)&quot; (?GARealArithmeticCrossover@@YAHABVGAGenome@@0PAV1@1@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;int __cdecl GARealBlendCrossover(class GAGenome const &amp;,class
GAGenome const &amp;,class GAGenome *,class GAGenome *)&quot; (?GARealBlendCrossover@@YAHABVGAGenome@@0PAV1@1@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;int __cdecl GARealGaussianMutator(class GAGenome &amp;,float)&quot;
(?GARealGaussianMutator@@YAHAAVGAGenome@@M@Z) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: __thiscall
GA1DArrayAlleleGenome&lt;float&gt;::GA1DArrayAlleleGenome&lt;float&gt;(class
GAAlleleSetArray&lt;float&gt; const &amp;,float (__cdecl*)(class GAGenome
&amp;),void *)&quot; (??0?$GA1DArrayAlleleGenome@M@@QAE@ABV?$GAAlleleSetArray@M@@P6AMAAVGAGenome@@@ZPAX@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: __thiscall
GA1DArrayAlleleGenome&lt;float&gt;::GA1DArrayAlleleGenome&lt;float&gt;(unsigned
int,class GAAlleleSet&lt;float&gt; const &amp;,float (__cdecl*)(class GAGenome
&amp;),void *)&quot; (??0?$GA1DArrayAlleleGenome@M@@QAE@IABV?$GAAlleleSet@M@@P6AMAAVGAGenome@@@ZPAX@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: float __thiscall GAAlleleSet&lt;float&gt;::allele(unsigned
int)const &quot; (?allele@?$GAAlleleSet@M@@QBEMI@Z) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: float __thiscall GAAlleleSet&lt;float&gt;::allele(void)const
&quot; (?allele@?$GAAlleleSet@M@@QBEMXZ) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual __thiscall GA1DArrayAlleleGenome&lt;float&gt;::~GA1DArrayAlleleGenome&lt;float&gt;(void)&quot;
(??1?$GA1DArrayAlleleGenome@M@@UAE@XZ) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual char const * __thiscall
GA1DArrayAlleleGenome&lt;float&gt;::className(void)const &quot;
(?className@?$GA1DArrayAlleleGenome@M@@UBEPBDXZ) already defined in
AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual int __thiscall
GA1DArrayAlleleGenome&lt;float&gt;::classID(void)const &quot;
(?classID@?$GA1DArrayAlleleGenome@M@@UBEHXZ) already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester error LNK2005:
&quot;public: virtual int __thiscall
GA1DArrayAlleleGenome&lt;float&gt;::read(class
std::basic_istream&lt;char,struct std::char_traits&lt;char&gt; &gt;
&amp;)&quot;
(?read@?$GA1DArrayAlleleGenome@M@@UAEHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)
already defined in AutoTester.obj</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>AutoTester fatal error
LNK1169: one or more multiply defined symbols found</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>I have also tried leaving
the .c files as .c files, setting the Project and File options to /TP, and
including the folder that contains the ./ga folder in the Projects VC++
Directories (so I don&#8217;t have to change</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&lt;ga/whatever.c&gt; to
&#8220;whatever.cpp&#8221;. In this case I still get the above errors.</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>What am I missing? If
there is anyone out there using MS Vis Studio and can help please let me know.</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>Thanks for your time,</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>Mike Cooling</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>PhD Student</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>Bioengineering Institute</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>University of Auckland</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal style='margin-left:36.0pt'><font size=2 face=Arial><span
lang=EN-NZ style='font-size:10.0pt;font-family:Arial'>&nbsp;</span></font></p>

</div>

</body>

</html>