<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/2033/1/7/_/styles/combined.css?spaceKey=TOP&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://wiki.asterisk.org/wiki/display/TOP/Building+-+Windows+%28WIP%29">Building - Windows (WIP)</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://wiki.asterisk.org/wiki/display/~kpfleming">Kevin P. Fleming</a>
    </h4>
        <br/>
                         <h4>Changes (7)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* BoostPro Libraries - [http://www.boostpro.com/download/] <br>* Ice Third Party Libraries - [http://www.zeroc.com/download.html] <br></td></tr>
            <tr><td class="diff-changed-lines" >* Visual Studio C++ <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">2010</span> <span class="diff-added-words"style="background-color: #dfd;">2008</span> Express [http://www.microsoft.com/express/Downloads/] <span class="diff-added-words"style="background-color: #dfd;">or Visual Studio 2008 Professional</span> <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h2.32-bit Installation <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >cd &lt;YOURBUILDDIR&gt; <br>git clone git://git.asterisk.org/asterisk-scf/release/ice <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">set CPP_COMPILER=VC100_EXPRESS <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">set CPP_COMPILER=VC90_EXPRESS (if you are using VS2008 Express) <br>set CPP_COMPILER=VC90 (if you are using VS Professional) <br></td></tr>
            <tr><td class="diff-unchanged" >cd ice\cpp <br>nmake -f Makefile.mak <br>{noformat} <br></td></tr>
            <tr><td class="diff-changed-lines" >{info}If <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">you&#39;ve</span> <span class="diff-added-words"style="background-color: #dfd;">you do</span> not <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">got</span> <span class="diff-added-words"style="background-color: #dfd;">have</span> Microsoft&#39;s Foundation Class <span class="diff-added-words"style="background-color: #dfd;">library</span> installed (which is not included in Visual Studio C++ <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">2010</span> <span class="diff-added-words"style="background-color: #dfd;">2008</span> Express), you&#39;ll get an error at the end of the make process about not being able to build &#39;HelloClient&#39;. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>You can safely disregard this error message and continue with the build instructions.{info} <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >cd gitall <br>bash ./gitall-asterisk-scf.sh <br></td></tr>
            <tr><td class="diff-changed-lines" >bash ./cmake/init-cmake.sh <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">--nmake</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">cmake --build ./build <br></td></tr>
            <tr><td class="diff-unchanged" >{noformat} <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">Now open Visual Studio and open the &quot;Asterisk SCF&quot; solution file generated by CMake in the &#39;build&#39; subdirectory of the &#39;gitall&#39; directory. You may seem some warnings about project files needing upgrading; if you do, let Visual Studio perform the upgrades. Once the solution is open, choose &quot;Build Solutiion&quot; from the &quot;Build&quot; menu, and the entire Asterisk SCF build will proceed. <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h2.64-bit Installation <br>{info}Forthcoming{info} <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="Building-Windows%28WIP%29-Preface"></a>Preface</h2>

<p>These instructions explain how to build Asterisk SCF on a clean, updated, basic Windows installation. This process is for building native (unmanaged) C++ components. </p>

<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>All Asterisk SCF core components are currently implemented in C++. For developers who wish to build components in .Net languages, read <a href="/wiki/display/TOP/Building+.Net+Components+for+Asterisk+SCF" title="Building .Net Components for Asterisk SCF">Building .Net Components for Asterisk SCF</a>.</td></tr></table></div>


<h2><a name="Building-Windows%28WIP%29-SoftwareRequirements"></a>Software Requirements</h2>

<ul>
        <li>msysgit (Git for Windows) - <a href="http://code.google.com/p/msysgit/" class="external-link" rel="nofollow">http://code.google.com/p/msysgit/</a></li>
        <li>CMake - <a href="http://www.cmake.org/cmake/resources/software.html" class="external-link" rel="nofollow">http://www.cmake.org/cmake/resources/software.html</a></li>
        <li>LUA - <a href="http://code.google.com/p/luaforwindows/" class="external-link" rel="nofollow">http://code.google.com/p/luaforwindows/</a></li>
        <li>DirectX SDK - <a href="http://msdn.microsoft.com/en-us/directx/aa937788.aspx" class="external-link" rel="nofollow">http://msdn.microsoft.com/en-us/directx/aa937788.aspx</a></li>
        <li>BoostPro Libraries - <a href="http://www.boostpro.com/download/" class="external-link" rel="nofollow">http://www.boostpro.com/download/</a></li>
        <li>Ice Third Party Libraries - <a href="http://www.zeroc.com/download.html" class="external-link" rel="nofollow">http://www.zeroc.com/download.html</a></li>
        <li>Visual Studio C++ 2008 Express <a href="http://www.microsoft.com/express/Downloads/" class="external-link" rel="nofollow">http://www.microsoft.com/express/Downloads/</a> or Visual Studio 2008 Professional</li>
</ul>


<h2><a name="Building-Windows%28WIP%29-32bitInstallation"></a>32-bit Installation</h2>

<ul>
        <li><h6><a name="Building-Windows%28WIP%29-msysgit"></a>msysgit</h6>
<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>You must select the option to put <b>everything</b> in your system path.</td></tr></table></div></li>
        <li><h6><a name="Building-Windows%28WIP%29-CMake"></a>CMake</h6>
<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>You must select the option to put CMake in your system path.</td></tr></table></div></li>
        <li><h6><a name="Building-Windows%28WIP%29-LUA"></a>LUA</h6></li>
        <li><h6><a name="Building-Windows%28WIP%29-DirectXSDK"></a>DirectX SDK</h6></li>
        <li><h6><a name="Building-Windows%28WIP%29-BoostProLibraries"></a>BoostPro Libraries</h6></li>
        <li><h6><a name="Building-Windows%28WIP%29-IceThirdPartyLibraries"></a>Ice Third Party Libraries</h6></li>
        <li><h6><a name="Building-Windows%28WIP%29-Digium%27sIceDistribution"></a>Digium's Ice Distribution</h6>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>cd &lt;YOURBUILDDIR&gt;
git clone git://git.asterisk.org/asterisk-scf/release/ice
set CPP_COMPILER=VC90_EXPRESS (if you are using VS2008 Express)
set CPP_COMPILER=VC90 (if you are using VS Professional)
cd ice\cpp
nmake -f Makefile.mak
</pre>
</div></div>
<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>If you do not have Microsoft's Foundation Class library installed (which is not included in Visual Studio C++ 2008 Express), you'll get an error at the end of the make process about not being able to build 'HelloClient'.

<p>You can safely disregard this error message and continue with the build instructions.</p></td></tr></table></div>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>nmake -f Makefile.mak install
</pre>
</div></div></li>
        <li><h6><a name="Building-Windows%28WIP%29-AsteriskSCF"></a>Asterisk SCF</h6>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>cd &lt;YOURBUILDDIR&gt;
git clone git://git.asterisk.org/asterisk-scf/integration/gitall
cd gitall
bash ./gitall-asterisk-scf.sh
bash ./cmake/init-cmake.sh
</pre>
</div></div></li>
</ul>


<p>Now open Visual Studio and open the "Asterisk SCF" solution file generated by CMake in the 'build' subdirectory of the 'gitall' directory. You may seem some warnings about project files needing upgrading; if you do, let Visual Studio perform the upgrades. Once the solution is open, choose "Build Solutiion" from the "Build" menu, and the entire Asterisk SCF build will proceed.</p>

<h2><a name="Building-Windows%28WIP%29-64bitInstallation"></a>64-bit Installation</h2>
<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>Forthcoming</td></tr></table></div>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://wiki.asterisk.org/wiki/users/viewnotifications.action" class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://wiki.asterisk.org/wiki/display/TOP/Building+-+Windows+%28WIP%29">View Online</a>
        |
        <a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=6586426&revisedVersion=26&originalVersion=25">View Changes</a>
                |
        <a href="https://wiki.asterisk.org/wiki/display/TOP/Building+-+Windows+%28WIP%29?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>