# Slicer build fails cmake error: LNK1112 module machine type 'X86' conflicts with target machine type 'x64'

**URL:** <https://discourse.slicer.org/t/slicer-build-fails-cmake-error-lnk1112-module-machine-type-x86-conflicts-with-target-machine-type-x64/1999>\
**Category:** Support\
**Tags:** build\
**Created:** [February 1, 2018, 1:52pm UTC](https://discourse.slicer.org/t/slicer-build-fails-cmake-error-lnk1112-module-machine-type-x86-conflicts-with-target-machine-type-x64/1999 "2018-02-01T13:52:18Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![drusmanbashir](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/drusmanbashir/32/1282_2.png) [@drusmanbashir](https://discourse.slicer.org/u/drusmanbashir)\
**Post date:** [February 1, 2018, 1:52pm UTC](https://discourse.slicer.org/t/slicer-build-fails-cmake-error-lnk1112-module-machine-type-x86-conflicts-with-target-machine-type-x64/1999/1 "2018-02-01T13:52:18Z")

</div>

Hi,

I am trying to build slicer 4.8 on Windows 7 using:  
Visual studio 2013 update 5  
CMake 3.10.1  
Qt 4.8.7 using easy build option ‘Visual Studio 2013 64-bit Debu  
g’:  
@powershell -Command “$destDir=‘C:\D\Support’;$buildType=‘Debug’;$qtPlatform=‘win32-msvc2013’;$bits=‘64’;iex ((new-object net.webclient).DownloadString(‘[https://raw.githubusercontent.com/jcfr/qt-easy-build/4.8.7/windows\_build\_qt.ps1](https://raw.githubusercontent.com/jcfr/qt-easy-build/4.8.7/windows_build_qt.ps1)’))”

I had to add Visual studio 2013 native command prompt to the Tools menu of VS 2013 following instructions on this link [https://stackoverflow.com/questions/21476588/where-is-developer-command-prompt-for-vs2013](https://stackoverflow.com/questions/21476588/where-is-developer-command-prompt-for-vs2013) like so:  
/k “C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat”

Then i set cmake up with the VS 2013 -64 bit c++ toolkit.  
Since, i was building for debuggin, I selected cmake-gui option cmake\_configuration\_types and deleted all types except ‘Debug’, selected the newly built qmake.exe in the previuos step. Then configuration and generation proceeded

Fired up VS 2013, opened Slicer.sln, in the side-bar right clicked ‘Slicer’ and selected option ‘Set as startup project’ and then did Build.

I don’t see where i selected any x86 build in all of this but it crashes with numerous errors starting with the LNK1112 conflict above, mostly with libraries having Qt in them. Any help will be appreciated.

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 1, 2018, 2:26pm UTC](https://discourse.slicer.org/t/slicer-build-fails-cmake-error-lnk1112-module-machine-type-x86-conflicts-with-target-machine-type-x64/1999/2 "2018-02-01T14:26:09Z")

</div>

Hi @drusmanbashir,

Thanks for reporting the issue.

It looks like you built Qt as a 32-bit libraries. Could you confirm you open and built Qt from a **64-bit** windows comment prompt [to build it](https://github.com/jcfr/qt-easy-build/tree/4.8.7#readme) ?

This screenshot illustrates what you should check:

 ![Screenshot%20from%202018-02-01%2009-24-26](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/c/4/c481db74403708d513b9c2c784e2efc31984f013.png)

---

<div class="post-metadata">

**Author:** ![drusmanbashir](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/drusmanbashir/32/1282_2.png) [@drusmanbashir](https://discourse.slicer.org/u/drusmanbashir)\
**Post date:** [February 1, 2018, 3:17pm UTC](https://discourse.slicer.org/t/slicer-build-fails-cmake-error-lnk1112-module-machine-type-x86-conflicts-with-target-machine-type-x64/1999/3 "2018-02-01T15:17:12Z")

</div>

> [@jcfr](#):
>
> Qt as a 32-bit lib

I think that is it! It was indeed an x86 command prompt. I am running the build again and hopefully it will work out this time.

I will intend to build slicer again for release later. Can you also tell me how to choose either a debug or a release build in cmake-gui? The only option i can see remotely related is taking the cmake\_configuration\_types and deleting all entries except for ‘debug’ (or release if I want a release build - though I havent tried a release build yet)

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [February 1, 2018, 3:22pm UTC](https://discourse.slicer.org/t/slicer-build-fails-cmake-error-lnk1112-module-machine-type-x86-conflicts-with-target-machine-type-x64/1999/4 "2018-02-01T15:22:08Z")

</div>

> [@drusmanbashir](#):
>
> Can you also tell me how to choose either a debug or a release build in cmake-gui?

On windows, you do not select the build type at configuration time. Since IDE like Visual Studio are “multi-configuration”, you will select it from within the IDE.

To avoid ambiguity, you could set the string option [CMAKE\_CONFIGURATION\_TYPES](https://cmake.org/cmake/help/latest/variable/CMAKE_CONFIGURATION_TYPES.html) to `Release` (or `Debug`) in cmake-gui.

Doing so, will ensure only one option is available in visual studio. Note that it need to match the build type of the selected path for `QT_QMAKE_EXECUTABLE`

---

<div class="post-metadata">

**Author:** ![drusmanbashir](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/drusmanbashir/32/1282_2.png) [@drusmanbashir](https://discourse.slicer.org/u/drusmanbashir)\
**Post date:** [February 1, 2018, 3:25pm UTC](https://discourse.slicer.org/t/slicer-build-fails-cmake-error-lnk1112-module-machine-type-x86-conflicts-with-target-machine-type-x64/1999/5 "2018-02-01T15:25:18Z")

</div>

> [@jcfr](#):
>
> do not select the build type

Ok that makes sense. Yes, I will select the relevant qmake (build / release) for the final slicer build. Thanks for sorting this out!
