I put below 2 functions to genome.c from ex26.<br><br style="background-color: rgb(153, 102, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">void</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">GenomeInitializer(GAGenome&amp; g) {</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
GAListGenome&lt;int&gt; &amp;child=(GAListGenome&lt;int&gt; &amp;)g;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp; while(child.head()) child.destroy(); // destroy any pre-existing list</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; int i,town;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp; static int visit[MAX_TOWNS];</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp; memset(visit, 0, MAX_TOWNS*sizeof(int));</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; town=GARandomInt(0,ntowns-1);
</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; visit[town]=1;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; child.insert(town,GAListBASE::HEAD); // the head node</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; for( i=1; i&lt;ntowns; i++) {</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp; do {</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; town=GARandomInt(0,ntowns-1);</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp; } while (visit[town]);</span>
<br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp; visit[town]=1;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp; child.insert(town);</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp; }&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// each subsequent node</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">}</span><br style="font-style: italic; background-color: rgb(153, 102, 51);">
<br style="font-style: italic; background-color: rgb(153, 102, 51);"><br style="font-style: italic; background-color: rgb(153, 102, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">float</span>
<br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">GenomeEvaluator(GAGenome&amp; g) {</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; GAListGenome&lt;int&gt; &amp; genome = (GAListGenome&lt;int&gt; &amp;)g;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; float dist = 0;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp; if(genome.head()) {</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp; for(int i=0; i&lt;ntowns; i++) {</span>
<br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int xx = *genome.current();</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int yy = *genome.next();</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dist += DISTANCE[xx][yy];</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp;&nbsp;&nbsp; }</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">&nbsp; }</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
&nbsp; return dist;</span><br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">}</span><br style="background-color: rgb(153, 102, 51);">
<br>I also added below into genome.c and declared in genome.h.<br><br><span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">#define MAX_TOWNS 50<br>
#define TSP_FILE &quot;tsp_rect_20.txt&quot;<br>
<br>float DISTANCE[MAX_TOWNS][MAX_TOWNS];<br>
double x[MAX_TOWNS],y[MAX_TOWNS];<br>
int ntowns = 0;<br style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
</span><span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);"><br>int&nbsp;&nbsp; Mutator(GAGenome&amp;, float);</span><br style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">float Comparator(const GAGenome&amp;, const GAGenome&amp;); </span><br style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">int&nbsp;&nbsp; ERXover(const GAGenome&amp;, const GAGenome&amp;, GAGenome*, GAGenome*);</span><br style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">int&nbsp;&nbsp; PMXover(const GAGenome&amp;, const GAGenome&amp;, GAGenome*, GAGenome*);</span><br style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">
<span style="font-style: italic; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);">void&nbsp; ERXOneChild(const GAGenome&amp;, const GAGenome&amp;, GAGenome*);<br><br></span><br>But aimk returns<br><br>g++ master.o
 -o master -L../. -L../../../ga -L/usr/msc501/pvm3/lib/LINUX -lpvm3 -lga -lm<br>master.o(.text+0x5fc): In function `main':<br>../master.C:161: undefined reference to `GenomeEvaluator(GAGenome&amp;)'<br>master.o(.text+0x61b): In function `main':
<br>../../../ga/GAGenome.h:243: undefined reference to `GenomeInitializer(GAGenome&amp;)'<br>master.o(.text+0x625):../../../ga/GAGenome.h:247: undefined reference to `Mutator(GAGenome&amp;, float)'master.o(.text+0x62f):../../../ga/GAGenome.h:251: undefined reference to `Comparator(GAGenome const&amp;, GAGenome const&amp;)'
<br>master.o(.text+0x639):../../../ga/GAGenome.h:253: undefined reference to `ERXover(GAGenome const&amp;, GAGenome const&amp;, GAGenome*, GAGenome*)'<br>collect2: ld returned 1 exit status<br>make: *** [master] Error 1<br>
<br><br>Global variables and functions declared in genome.h should be accessible by master and slave as they include genome.h. Shouldn't it?<br><br>