Skip to content
Jeffrey Gill edited this page Jan 10, 2021 · 3 revisions

Welcome to the IntanStimRecordController wiki!

Notes on Compiling on Windows

  1. Installed Visual Studio Community 2019:

    https://visualstudio.microsoft.com/

    Using Visual Studio Installer, installed:

    • Workloads:
      • Desktop development with C++
    • Individual Components:
      • C++ Clang Compiler for Windows (10.0.0) [necessary?]
  2. Got an offline installer [online might work too] for Qt from here

    https://www.qt.io/offline-installers

    by clicking "5.12.x Offline Installers" in left nav, then downloading "Qt 5.12.10 for Windows (3.7 GB)"

    Installed Qt 5 to C:\Qt\Qt5.12.10 with these components (Qt account necessary):

    • MSCV 2017 64-bit
    • Sources
    • Qt Creator 4.13.1 CDB Debugger Support

    [Looks like the MinGW toolchain is available under "Developer and Designer Tools". Could this plus the Qt pre-build components for MinGW be sufficient for building everything, and Visual Studio isn't needed at all?]

  3. Added this to end of my Path environment variable:

    C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\bin
    
  4. Opened the "x64 Native Tools Command Prompt for VS 2019" prompt, and then built the application using my new top-level Makefile:

    cd C:\Users\Jeffrey\Documents\Research\IntanStimRecordController
    nmake
    

    which is essentially the same as this:

    cd C:\Users\Jeffrey\Documents\Research\IntanStimRecordController
    mkdir build
    cd build
    qmake ..\source\IntanStimRecordController.pro
    nmake release
    windeployqt --dir release-deploy release\IntanStimRecordController.exe
    cp release\IntanStimRecordController.exe ..\main.bit "..\Opal Kelly library files\Windows 64-bit\okFrontPanel.dll" release-deploy
    

    [This build process seemed to use the cl compiler, and when using another prompt it complained about not having cl, so possibly "C++ Clang Compiler for Windows (10.0.0)" from VS is necessary. On the other hand, maybe qmake selected that automatically because it was available, but it would have fallen back to something else if it wasn't, such as MinGW if that had been installed with Qt.]

Clone this wiki locally