<div dir="ltr"><div><div>I&#39;ve been moving forward with building the VM for Windows from the GitHub sources with MinGW.</div></div><div><br></div><div>Now, to get the thing to compile, I had to replace the oft_t things by _oft_t, same for the 64 flavor.</div>

<div><br></div><div>So, modifiying two header files, one being mingw.h where I put #define oft_t _oft_t at the end.</div><div><br></div><div>This did the trick and I now have all plugins/dlls building fine:</div><div><br>

</div><div><div>FT2Plugin.dll</div><div>libcairo-2.dll</div><div>libeay32.dll</div><div>libfreetype-6.dll</div><div>libfreetype.dll.a</div><div>libFT2Plugin.dll.a</div><div>libpixman-1-0.dll</div><div>libpng-3.dll</div><div>

libSqueakFFIPrims.dll.a</div><div>libSqueakSSL.dll.a</div><div>SqueakFFIPrims.dll</div><div>SqueakSSL.dll</div><div>ssleay32.dll</div><div>zlib1.dll</div></div><div><br></div><div>are in results/</div><div><br></div><div>

Also, to get there, one has to create a vmVersionInfo.h file in platforms\Cross\vm with something in the REVISION_STRING </div><div><br></div><div>#define REVISION_STRING &quot;Pharo VM - Philippe Back from GitHub Sources 20131119&quot;<br>

</div><div><br></div><div>I wonder why this isn&#39;t something automagically generated in the process as it seems that the CI build has something.</div><div><br></div><div>The last step is getting Pharo.exe to link but this doesn&#39;t work:</div>

<div><br></div><div><div>Linking C executable /C/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exe</div><div>c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin</div><div>d -lcrtdll</div>

<div>collect2.exe: error: ld returned 1 exit status</div><div>make[2]: *** [C:/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exe] Error</div><div>1</div><div>make[1]: *** [CMakeFiles/Pharo.dir/all] Error 2</div><div>

make: *** [all] Error 2</div></div><div><br></div><div><br></div><div>Looks like a library path is wrong or else.</div><div><br></div><div>Idea?</div><div><br></div><div>Also, there are quite a number of warnings spit out during the compiling process all over the place, more than the Mac VM build I think.</div>

<div><br></div><div>e.g.</div><div><br></div><div><div>[ 92%] Building C object CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/ph</div><div>aro-vm/platforms/win32/vm/sqWin32Prefs.c.obj</div><div>In file included from C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/v</div>

<div>m/sq.h:193:0,</div><div>                 from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div><div>m/sqWin32Prefs.c:20:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h</div>

<div>:52:0: warning: &quot;VM_EXPORT&quot; redefined [enabled by default]</div><div> #  define VM_EXPORT __declspec( dllexport )</div><div> ^</div><div>In file included from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div>

<div>m/sqWin32Prefs.c:20:0:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0: note: thi</div><div>s is the location of the previous definition</div><div> #define VM_EXPORT</div><div> ^</div>

<div>[ 93%] Building C object CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/ph</div><div>aro-vm/platforms/win32/vm/sqWin32Utils.c.obj</div><div>In file included from C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/v</div>

<div>m/sq.h:193:0,</div><div>                 from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div><div>m/sqWin32Utils.c:14:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h</div>

<div>:52:0: warning: &quot;VM_EXPORT&quot; redefined [enabled by default]</div><div> #  define VM_EXPORT __declspec( dllexport )</div><div> ^</div><div>In file included from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div>

<div>m/sqWin32Utils.c:14:0:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0: note: thi</div><div>s is the location of the previous definition</div><div> #define VM_EXPORT</div></div><div><br>

</div><div>Phil</div>
</div>