<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Unable to build nRF51 Bluetooth Driver 0.5.0</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/11525/unable-to-build-nrf51-bluetooth-driver-0-5-0</link><description>I&amp;#39;m trying to build BLE driver 0.5.0 for 64bits. 
 I&amp;#39;ve downloaded: 
 
 MinGW 4.8.2 64bits 
 boost 1.56 and compiled it using address-model=64 
 CMake 3.4.1 
 Python 2.7.11 
 Swig 2.0.12 
 Microsoft Visual C++ Compiler for Python 
 
 Now, Im</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 27 Jan 2016 21:30:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/11525/unable-to-build-nrf51-bluetooth-driver-0-5-0" /><item><title>RE: Unable to build nRF51 Bluetooth Driver 0.5.0</title><link>https://devzone.nordicsemi.com/thread/43575?ContentTypeID=1</link><pubDate>Wed, 27 Jan 2016 21:30:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d21dcbc6-b86e-4956-a88d-121439974e5e</guid><dc:creator>Bj&amp;#248;rn Inge</dc:creator><description>&lt;p&gt;Thanks for sharing your findings.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to build nRF51 Bluetooth Driver 0.5.0</title><link>https://devzone.nordicsemi.com/thread/43574?ContentTypeID=1</link><pubDate>Wed, 27 Jan 2016 14:57:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea54316a-f45a-46dd-9038-fbd26fc249ea</guid><dc:creator>jpo38</dc:creator><description>&lt;p&gt;I finally got it compile and work. If one needs to do that, here are the steps to follow:&lt;/p&gt;
&lt;p&gt;1- Get driver sources from &lt;a href="https://github.com/NordicSemiconductor/pc-ble-driver/tree/v0.5.0"&gt;github.com/.../v0.5.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2- Download and install all dependencies as requested by &lt;a href="https://github.com/NordicSemiconductor/pc-ble-driver/tree/v0.5.0#nrf51-bluetooth-smart-gattgap-driver"&gt;README.md&lt;/a&gt;, except for MinGW (proposed version does not support x64)&lt;/p&gt;
&lt;p&gt;3- Get &lt;a href="http://sourceforge.net/projects/mingw-w64/files/latest/download?source=files"&gt;w64 MinGW installer&lt;/a&gt; and install the version coresponding to the one referenced by &lt;a href="https://github.com/NordicSemiconductor/pc-ble-driver/tree/v0.5.0#windows"&gt;README.md&lt;/a&gt;: 4.8.2, thread posix&lt;/p&gt;
&lt;p&gt;4- Build boost as documented (&lt;a href="https://github.com/NordicSemiconductor/pc-ble-driver/tree/v0.5.0#windows"&gt;README.md&lt;/a&gt;), but with additional b2 parameter: &lt;code&gt;address-model=64&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;5- From driver&amp;#39;s script folder, replace &lt;code&gt;i386&lt;/code&gt; by &lt;code&gt;X64&lt;/code&gt; in &lt;code&gt;msvc_def_to_lib.bat.in&lt;/code&gt; file (else, you&amp;#39;ll get a x64 .dll but a x86 .lib....)&lt;/p&gt;
&lt;p&gt;6- Run build.py command (as documented by &lt;a href="https://github.com/NordicSemiconductor/pc-ble-driver/tree/v0.5.0#compilation-and-packaging-of-the-driver"&gt;README.md&lt;/a&gt;) once (to have SDK be downloaded), it will fail with error &lt;code&gt;error: expected primary-expression before &amp;#39;volatile&amp;#39; #define __I volatile&lt;/code&gt;. This is because Nordic&amp;#39;s &lt;code&gt;__I&lt;/code&gt; variable conflicts with a MinGW 64bits variable.&lt;/p&gt;
&lt;p&gt;7- Go to the SDK folder and replace all &lt;code&gt;__I&lt;/code&gt; by &lt;code&gt;__NRF_I&lt;/code&gt; to resolve the conflict (there should be 251 instances in components\toolchain\gcc\core_cm0.h and components\device\nrf51.h)&lt;/p&gt;
&lt;p&gt;8- Run build.py script again. .dll and .lib will be generated for x64 target!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to build nRF51 Bluetooth Driver 0.5.0</title><link>https://devzone.nordicsemi.com/thread/43572?ContentTypeID=1</link><pubDate>Wed, 27 Jan 2016 14:41:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:09fabf84-0db3-4416-8c0c-32cec5d5c000</guid><dc:creator>jpo38</dc:creator><description>&lt;p&gt;Hi, I tested win32, and it compiles OK. I finally succeeded, I post details below as an answer. You may check it to extend your build scripts to support x64 (there&amp;#39;s only a few changes I had to do, but you can&amp;#39;t build without them).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unable to build nRF51 Bluetooth Driver 0.5.0</title><link>https://devzone.nordicsemi.com/thread/43573?ContentTypeID=1</link><pubDate>Wed, 27 Jan 2016 08:22:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fcdabf6-4ad3-478c-bb80-358aade17add</guid><dc:creator>Bj&amp;#248;rn Inge</dc:creator><description>&lt;p&gt;It does build 64 bit on linux and osx so it should be possible to accomplish. That said it might be that the build script or patched SDK header files etc. fail to take the mingw gcc 64 bit compiler into consideration as it hasn&amp;#39;t been tested. To rule out other problems, could you try to build 32 bit as documented first, if you haven&amp;#39;t already done so?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>