https://wiki.haskell.org/index.php?title=WxHaskell/Building_on_Windows&feed=atom&action=history
WxHaskell/Building on Windows - Revision history
2024-03-19T11:31:59Z
Revision history for this page on the wiki
MediaWiki 1.35.5
https://wiki.haskell.org/index.php?title=WxHaskell/Building_on_Windows&diff=66248&oldid=prev
Atravers at 12:48, 8 June 2023
2023-06-08T12:48:57Z
<p></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:48, 8 June 2023</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#REDIRECT [[WxHaskell/Windows]]</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#REDIRECT [[WxHaskell/Windows]]</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category: Pages to be removed]]</div></td>
</tr>
</table>
Atravers
https://wiki.haskell.org/index.php?title=WxHaskell/Building_on_Windows&diff=22239&oldid=prev
EricKow at 20:05, 5 August 2008
2008-08-05T20:05:59Z
<p></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:05, 5 August 2008</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#REDIRECT [[WxHaskell/Windows]]</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Building wxWidgets and wxc with Microsoft Visual C++ ===</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The advantage of using Visual C++ is that the resulting libraries are smaller and faster than the gnu compiled ones. Furthermore, the debug version provides for automatic detection of memory leaks in the wxWidgets libraries and you get a warning when forgetting to deallocate wxWidgets objects. The drawback is that the configure scripts are not used and you will need to set some options manually.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>If you want to use Visual C++ Express Edition, you must use Visual C++ 2008 Express Editions or higher. Because previous version requires [http://msdn2.microsoft.com/express/aa700755.aspx installing Microsoft Platform SDK] before building wxWidgets or wxHaskell.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>We use the wxWidgets provided workspace directly:</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* '''wxWidgets 2.4''': Open the <tt>$wxwin/src/wxWidgets.dsw</tt> workspace. Select menu &quot;<tt>Build/Set active configuration</tt>&quot; and select &quot;<tt>wxWidgets - win32 release unicode</tt>&quot; to build the (static) library. After compilation, you can also select &quot;<tt>wxWidgets - win32 debug unicode</tt>&quot; to build the debug version.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* '''wxWidgets 2.6''': Open the <tt>$wxwin/build/msw/wx.dsw</tt> workspace. Select menu &quot;<tt>Build/Batch build</tt>&quot; and select all configurations by using the mouse and the <tt>shift</tt> key, when you click a marker, all configurations are deselected. Next you manually select the &quot;Unicode Release&quot; and &quot;Unicode Debug&quot; versions of all projects and press &quot;Build&quot;. Afterwards, press &quot;Save All&quot; to save all your mouse clicking work :-)</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>If you want to use [http://wxhaskell.sourceforge.net/doc/Graphics.UI.WXCore.Db.html database access] and [http://wxhaskell.sourceforge.net/doc/Graphics.UI.WXCore.OpenGL.html openGL canvas], you must edit <tt>$wxwin/include/msw/setup.h</tt>'s <tt>#define wxUSE_*</tt>(* is target feature name) from 0 to 1.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>After building wxWidgets, you need to run <tt>configure</tt> for the wxHaskell library.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pre>&gt; cd $wxhaskell</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&gt; ./configure --with-msc</pre></div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>If you want to use the debug version of the library, use the <tt>--wxc-libname</tt> option too.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pre>&gt; ./configure --with-msc --wxc-libname=wxcd</pre></div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>After configuration, first run <tt>make</tt> command to generate stc_gen.* files.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pre>&gt; make</pre></div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Make will stop by following error.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pre>&gt; make: *** No rule to make target `out/wxc/wxc-msw2.6.4-0.10.1.dll', needed by `wxc'. Stop.</pre></div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Then go <tt>$wxhaskell/wxc</tt> directory. Here, you need to adapt the <tt>wxc-&lt;em&gt;version&lt;/em&gt;.dsp</tt> project to reference the correct wxWidgets directory. Open the <tt>.dsp</tt> file in an editor and replace all occurrences of &quot;<tt>..\..\wxWindows-2.4.2</tt>&quot; (or &quot;<tt>..\..\wxWindows-2.6.4</tt>&quot;) or by the installed wxWidgets directory, i.e. <tt>$wxwin</tt>.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>After adapting the project file, you can open the workspace <tt>wxc/wxc-&lt;em&gt;version&lt;/em&gt;.dsw</tt> and build the release and debug versions of the C wrapper library (if you use wxWidgets 2.6.4, you must choose &quot;Unicode Release&quot; or &quot;Unicode Debug&quot; instead of choosing just &quot;Release&quot; or &quot;Debug&quot;).</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>And finally! – you can run <tt>make</tt> in the <tt>$wxhaskell</tt> directory to build the Haskell libraries.</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pre>&gt; cd $wxhaskell</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&gt; make</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&gt; make install</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&gt; make wx</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&gt; make wx-install</pre></div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category:wxHaskell]]</div></td>
<td colspan="2" class="diff-empty"> </td>
</tr>
</table>
EricKow
https://wiki.haskell.org/index.php?title=WxHaskell/Building_on_Windows&diff=22189&oldid=prev
EricKow at 13:51, 5 August 2008
2008-08-05T13:51:33Z
<p></p>
<p><b>New page</b></p><div><br />
=== Building wxWidgets and wxc with Microsoft Visual C++ ===<br />
<br />
The advantage of using Visual C++ is that the resulting libraries are smaller and faster than the gnu compiled ones. Furthermore, the debug version provides for automatic detection of memory leaks in the wxWidgets libraries and you get a warning when forgetting to deallocate wxWidgets objects. The drawback is that the configure scripts are not used and you will need to set some options manually.<br />
<br />
If you want to use Visual C++ Express Edition, you must use Visual C++ 2008 Express Editions or higher. Because previous version requires [http://msdn2.microsoft.com/express/aa700755.aspx installing Microsoft Platform SDK] before building wxWidgets or wxHaskell.<br />
<br />
We use the wxWidgets provided workspace directly:<br />
<br />
* '''wxWidgets 2.4''': Open the <tt>$wxwin/src/wxWidgets.dsw</tt> workspace. Select menu &quot;<tt>Build/Set active configuration</tt>&quot; and select &quot;<tt>wxWidgets - win32 release unicode</tt>&quot; to build the (static) library. After compilation, you can also select &quot;<tt>wxWidgets - win32 debug unicode</tt>&quot; to build the debug version.<br />
* '''wxWidgets 2.6''': Open the <tt>$wxwin/build/msw/wx.dsw</tt> workspace. Select menu &quot;<tt>Build/Batch build</tt>&quot; and select all configurations by using the mouse and the <tt>shift</tt> key, when you click a marker, all configurations are deselected. Next you manually select the &quot;Unicode Release&quot; and &quot;Unicode Debug&quot; versions of all projects and press &quot;Build&quot;. Afterwards, press &quot;Save All&quot; to save all your mouse clicking work :-)<br />
If you want to use [http://wxhaskell.sourceforge.net/doc/Graphics.UI.WXCore.Db.html database access] and [http://wxhaskell.sourceforge.net/doc/Graphics.UI.WXCore.OpenGL.html openGL canvas], you must edit <tt>$wxwin/include/msw/setup.h</tt>'s <tt>#define wxUSE_*</tt>(* is target feature name) from 0 to 1.<br />
<br />
After building wxWidgets, you need to run <tt>configure</tt> for the wxHaskell library.<br />
<br />
<pre>&gt; cd $wxhaskell<br />
&gt; ./configure --with-msc</pre><br />
If you want to use the debug version of the library, use the <tt>--wxc-libname</tt> option too.<br />
<br />
<pre>&gt; ./configure --with-msc --wxc-libname=wxcd</pre><br />
After configuration, first run <tt>make</tt> command to generate stc_gen.* files.<br />
<br />
<pre>&gt; make</pre><br />
Make will stop by following error.<br />
<br />
<pre>&gt; make: *** No rule to make target `out/wxc/wxc-msw2.6.4-0.10.1.dll', needed by `wxc'. Stop.</pre><br />
Then go <tt>$wxhaskell/wxc</tt> directory. Here, you need to adapt the <tt>wxc-&lt;em&gt;version&lt;/em&gt;.dsp</tt> project to reference the correct wxWidgets directory. Open the <tt>.dsp</tt> file in an editor and replace all occurrences of &quot;<tt>..\..\wxWindows-2.4.2</tt>&quot; (or &quot;<tt>..\..\wxWindows-2.6.4</tt>&quot;) or by the installed wxWidgets directory, i.e. <tt>$wxwin</tt>.<br />
<br />
After adapting the project file, you can open the workspace <tt>wxc/wxc-&lt;em&gt;version&lt;/em&gt;.dsw</tt> and build the release and debug versions of the C wrapper library (if you use wxWidgets 2.6.4, you must choose &quot;Unicode Release&quot; or &quot;Unicode Debug&quot; instead of choosing just &quot;Release&quot; or &quot;Debug&quot;).<br />
<br />
And finally! – you can run <tt>make</tt> in the <tt>$wxhaskell</tt> directory to build the Haskell libraries.<br />
<br />
<pre>&gt; cd $wxhaskell<br />
&gt; make<br />
&gt; make install<br />
&gt; make wx<br />
&gt; make wx-install</pre><br />
[[Category:wxHaskell]]</div>
EricKow