HISE Logo Forum
    • Categories
    • Register
    • Login

    [GUIDE] Complete Setup for Compiling HISE with IPP and FAUST (Windows)

    Scheduled Pinned Locked Moved Documentation
    10 Posts 3 Posters 148 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • c4k3ssC
      c4k3ss
      last edited by c4k3ss

      Hi everyone,

      After struggling setting up HISE with FAUST and IPP, I put together a guide covering all the common issues I encountered. This includes:

      • Installing Intel IPP to the correct location
      • Installing and configuring FAUST
      • Handling non-default Visual Studio installations (symlink workaround)
      • Common troubleshooting

      Tested with the develop branch on Windows 10/11. Hope this saves someone else a few hours of debugging!


      Complete Guide: Compiling HISE with IPP and FAUST Support (Windows)

      Table of Contents

      1. Introduction
      2. Video Tutorial
      3. Prerequisites
      4. Installing Intel IPP
      5. Installing FAUST
      6. Compiling HISE from Source
      7. Configuring HISE
      8. Troubleshooting
      9. Additional Notes

      Introduction

      This guide walks you through compiling HISE with Intel Performance Primitives (IPP) and FAUST support on Windows.

      Why use IPP?

      • Almost mandatory for convolution reverb projects

      Why use FAUST?

      • Enables custom DSP node creation

      Time investment: 1-2 hours for first-time setup


      Video Tutorial

      For a visual walkthrough of this process, check out David Healey's video guide:
      https://www.youtube.com/watch?v=VzS7C1aibn4&feature=youtu.be

      Note: David's video assumes default installation locations for VS2022, FAUST, and IPP, and also covers FFTW as an option.

      • Custom VS2022 installation: See Non-Default VS2022 Installation
      • Custom FAUST installation: See Step 6 note about updating FAUST paths in Projucer

      Prerequisites

      Before starting, ensure you have:

      • Windows 10/11 (64-bit)
      • Visual Studio 2022 (Community, Professional, or Enterprise)
        • REQUIRED: During installation, select "Desktop development with C++"
        • RECOMMENDED: Install to default location: C:\Program Files\Microsoft Visual Studio\2022\Community\
        • If you installed VS2022 elsewhere, see Non-Default VS2022 Installation below
      • Git for cloning the HISE repository
      • ~10 GB free disk space for HISE, IPP, FAUST, and build artifacts

      Non-Default VS2022 Installation

      If you installed Visual Studio 2022 to a custom location (e.g., D:\VS2022), HISE won't be able to find MSBuild automatically. You need to create a symbolic link:

      Steps:

      1. Open Command Prompt as Administrator
      2. Create the parent directory:
        mkdir "C:\Program Files\Microsoft Visual Studio\2022"
        
      3. Create the symbolic link (replace D:\VS2022 with your actual VS2022 path):
        mklink /D "C:\Program Files\Microsoft Visual Studio\2022\Community" "D:\VS2022"
        
      4. Verify the symlink was created successfully

      Why this is needed:

      • HISE's build scripts expect MSBuild at the default path
      • The symlink redirects the default path to your custom installation
      • This allows HISE to find MSBuild without modifying any code

      Installing Intel IPP

      Step 1: Download Intel IPP

      You can download just IPP instead of the entire oneAPI toolkit.

      1. Go to: https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp-download.html
      2. Select Windows -> Online Installer (or Offline if you prefer)
      3. Download the installer

      Step 2: Install to Default Location

      IMPORTANT: Install IPP to the default location to avoid path issues.

      1. Run the installer
      2. When prompted for installation path, use: C:\Program Files (x86)\Intel\oneAPI\
      3. Complete the installation (may take 15-30 minutes)

      Why default location matters:

      • HISE's code generation assumes standard Intel paths
      • Installing elsewhere requires extensive manual path configuration

      Step 3: Verify Installation

      After installation, verify IPP is installed correctly:

      1. Navigate to: C:\Program Files (x86)\Intel\oneAPI\ipp\
      2. You should see a version folder (e.g., 2022.3, 2023.2)
      3. Inside that folder, verify these subdirectories exist:
        • include\ipp\ - Contains ippcore.h and related headers
        • lib\intel64\ - Contains IPP library files

      Example path to ippcore.h:

      C:\Program Files (x86)\Intel\oneAPI\ipp\2022.3\include\ipp\ippcore.h
      

      Installing FAUST

      Step 1: Download FAUST

      1. Go to: https://github.com/grame-cncm/faust/releases
      2. Download the latest Windows installer (e.g., Faust-2.XX.XX-win64.exe)

      Step 2: Install FAUST

      1. Run the installer
      2. Install to the default location: C:\Program Files\Faust\ or D:\Faust\
      3. Complete installation

      Step 3: Verify Installation

      Check that FAUST is installed:

      1. Navigate to your installation directory (e.g., C:\Program Files\Faust\)
      2. Verify include\ folder exists with FAUST headers

      Note: You'll configure the FAUST path in HISE later - just remember where you installed it.


      Compiling HISE from Source

      Step 1: Choose HISE Version

      Important: HISE has two main branches:

      • master / release (e.g., 4.1.0) - Stable releases
      • develop - Latest features, may have breaking changes

      If you're:

      • Starting a new project -> Use develop branch (latest APIs)
      • Working on existing project -> Match the HISE version it was created with

      How to check your project's HISE version:

      • Check when the project was last compiled and match to HISE release dates

      For this guide, we'll use the develop branch.

      Step 2: Clone HISE Repository

      1. Open Command Prompt or PowerShell
      2. Navigate to where you want HISE (e.g., D:\)
      3. Clone the repository:
      D:
      git clone https://github.com/christophhart/HISE.git HISE
      cd HISE
      

      This will take several minutes as it includes modified JUCE source code.

      Step 3: Extract SDK Files

      1. Navigate to: D:\HISE\tools\SDK\
      2. Extract sdk.zip to the same directory
      3. After extraction, you should have:
        • D:\HISE\tools\SDK\ASIOSDK2.3\
        • D:\HISE\tools\SDK\VST3 SDK\

      Step 4: Copy FAUST Headers to HISE

      1. Navigate to your FAUST installation: D:\Faust\include\
      2. Inside you'll find another faust folder - open it
      3. Copy the contents of this inner faust folder
      4. Navigate to: D:\HISE\tools\faust\
      5. Paste the copied files here (merge with existing folder contents)

      Why this is needed:

      • HISE includes a partial FAUST folder, but it's missing required headers
      • FAUST's complete headers must be copied into HISE's tools directory
      • Without this, HISE compilation will fail

      Step 5: Open in Projucer

      Projucer is JUCE's project management tool, included with HISE.

      1. Navigate to: D:\HISE\tools\projucer\
      2. Run Projucer.exe
      3. In Projucer, open: D:\HISE\projects\standalone\HISE Standalone.jucer

      Step 6: Configure IPP and FAUST in Projucer

      Important configuration step:

      1. In Projucer, select Exporters -> Visual Studio 2022
      2. Find setting: "Use IPP Library (oneAPI)"
      3. Change from No to Yes (Default Linking)
      4. Open "Release with Faust"
      5. Update "Header Search Paths" & "Extra Library Search Paths & "Post-build Command" (if Faust is installed to non-default location)
        • C:\Program Files\Faust\include -> D:\Faust\include
        • C:\Program Files\Faust\lib -> D:\Faust\lib
        • C:\Program Files\Faust\lib\faust.dll -> D:\Faust\lib\faust.dll

      Note: There is NO manual path field for IPP - Projucer expects it in the default Intel location.

      Step 7: Save and Generate Visual Studio Project

      1. In Projucer, click "Save Project and Open in IDE"
      2. This will:
        • Generate Visual Studio solution files
        • Automatically open Visual Studio 2022
        • Create the project at: D:\HISE\projects\standalone\Builds\VisualStudio2022\

      Step 8: Compile HISE in Visual Studio

      1. In Visual Studio, select configuration: Release | x64
      2. Build Solution (Ctrl + Shift + B)
      3. Wait for compilation (10-30 minutes depending on your CPU)

      If you encounter IPP-related errors:

      • See Troubleshooting section below
      • Most common issue: ippcore.h not found

      Step 9: Verify Successful Build

      After compilation completes:

      1. Navigate to: D:\HISE\projects\standalone\Builds\VisualStudio2022\x64\Release\
      2. You should see HISE.exe
      3. Run the executable - HISE should launch

      Configuring HISE

      Step 1: Configure Settings

      When working on your own HISE project:

      1. Open your .xml project file in HISE
      2. File -> Settings
      3. Set the Hise Path to your compiled develop-branch HISE:
        • Example: D:\HISE\
      4. This ensures your project uses the correct HISE version
      5. Set the Faust Path to your Faust folder:
        • Example : D:\Faust\

      Why this matters:

      • Projects created with different HISE versions may have API incompatibilities
      • Always use the same HISE version you'll export plugins with

      Troubleshooting

      Issue: "Cannot open include file: 'ippcore.h'"

      Cause: Visual Studio can't find the IPP headers.

      Solution:

      When downloading IPP, make sure to install in the default location and let the installer set up IPP for VS2022

      Issue: HISE Setup Wizard Says "Not Detected"

      Cause: HISE checks default download location for IPP.

      Solution:

      Same solution as issue above

      Additional Notes

      Compiling Plugins vs. Compiling HISE

      This guide covers compiling HISE itself. Once HISE is compiled, you'll use it to export your plugins (VST3, AU, etc.).

      Plugin export process:

      1. Open your HISE project (.xml file)
      2. File -> Export -> Compile project
      3. HISE will auto-generate C++ code and compile with MSBuild
      4. Output: VST3/AU/AAX plugin files

      FAUST Module Compilation

      FAUST DSP code needs to be compiled to DLLs before use:

      1. Export -> Compile DSP networks as dll
      2. After which you will be able to replace your FAUST scripts with the generated DLLS

      If DLL compilation fails:

      • Ensure FAUST path is set in HISE
      • See troubleshooting section above

      Keeping HISE Updated

      To update HISE to the latest version of your current branch:

      1. Navigate to your HISE installation folder (e.g., D:\HISE)
      2. Run:
      D:
      cd HISE
      git pull
      

      Then recompile following steps 5-9 in the compilation section.

      Warning: Updates may introduce breaking changes. Test thoroughly before using on production projects.

      Contributing Back

      If you find bugs or improvements while using HISE:

      • Report issues: https://github.com/christophhart/HISE/issues
      • Join the forum: https://forum.hise.audio/
      • Consider contributing fixes via Pull Requests

      Summary Checklist

      1. ✅ Visual Studio 2022 installed to default location or set up with symlink
      2. ✅ Intel IPP installed to C:\Program Files (x86)\Intel\oneAPI\
      3. ✅ FAUST installed
      4. ✅ HISE repository cloned (develop branch)
      5. ✅ SDK files extracted
      6. ✅ FAUST headers added in the HISE installation
      7. ✅ Projucer: "Use IPP Library (oneAPI)" set to "Yes (Default Linking)"
      8. ✅ HISE compiled successfully in Visual Studio
      9. ✅ FAUST path set in HISE settings
      10. ✅ HISE path points to compiled develop-branch HISE

      Troubleshooting Help:

      If you're still stuck after following this guide:

      • Post on HISE forum: https://forum.hise.audio/
      • Include error messages and HISE version
      • This guide will be updated based on community feedback

      Good luck building with HISE!

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @c4k3ss
        last edited by d.healey

        Is this AI generated?

        @c4k3ss said in [GUIDE] Complete Setup for Compiling HISE with IPP and FAUST (Windows):

        Copy FAUST Headers to HISE

        Update "Header Search Paths" & "Extra Library Search Paths & "Post-build Command" (if needed)

        I don't think these steps are needed

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

        c4k3ssC 1 Reply Last reply Reply Quote 0
        • c4k3ssC
          c4k3ss @d.healey
          last edited by c4k3ss

          @d-healey Used AI to help me format it (as in make it concise), but obviously I didn't tell it to make the steps for me.

          I'm not sure it works if your install path for Faust is different from the ones in there.

          Again, this is from my experience.

          If it's that bad of a guide I'll delete it. 😓

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @c4k3ss
            last edited by

            @c4k3ss said in [GUIDE] Complete Setup for Compiling HISE with IPP and FAUST (Windows):

            If it's that bad of a guide I'll delete it.

            I think it's good, should probably be included in the docs. I just don't think those faust steps are necessary - I could be wrong though, it's been a while since I set things up on Windows.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            c4k3ssC 1 Reply Last reply Reply Quote 0
            • c4k3ssC
              c4k3ss @d.healey
              last edited by c4k3ss

              @d-healey Thanks! 😁

              @d-healey said in [GUIDE] Complete Setup for Compiling HISE with IPP and FAUST (Windows):

              I just don't think those faust steps are necessary

              From my testing, they are. Having the wrong path for Faust won't let the solution build correctly. Not sure if changing all of them is necessary, but if one is I reckon the rest of them are too.

              As mentioned this is only if you install Faust somewhere else other than the default location.

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @c4k3ss
                last edited by

                @c4k3ss said in [GUIDE] Complete Setup for Compiling HISE with IPP and FAUST (Windows):

                As mentioned this is only if you install Faust somewhere else other than the default location.

                Ah ok, I might be blind, where does it say that you only need this if it's installed to a non-standard location? The only thing I see is "(if needed)" but how will a beginner know if they need it?

                Look at your project's generated code for API signatures

                This is a bit confusing to me, what does it mean?

                git clone https://github.com/christophhart/HISE.git HISE-develop

                I would recommend not calling the folder HISE-develop. Go with the default HISE. That way when you want to switch between branches and commits it's less confusing.

                Open your .hip project file in HISE

                It's best to use .xml for your main project file.

                File -> Settings (or project-specific settings)

                What does "or project-specific settings" mean? Isn't that the same as File > Settings?

                Export -> Export Tools -> Compile DSP networks as dll

                I don't see "Export > Export Tools" (is this an AI invention?)

                I did make a video about this process recently that you might want to reference - although I assume the default locations for VS, FAUST, and IPP. I also included FFTW as an option.

                https://youtu.be/VzS7C1aibn4

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                Christoph HartC c4k3ssC 2 Replies Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart @d.healey
                  last edited by

                  I don't see "Export > Export Tools" (is this an AI invention?)

                  Export Tools is a subsection of the menu, but it might not show up on all platforms.

                  d.healeyD c4k3ssC 2 Replies Last reply Reply Quote 1
                  • c4k3ssC
                    c4k3ss @d.healey
                    last edited by

                    @d-healey said in [GUIDE] Complete Setup for Compiling HISE with IPP and FAUST (Windows):

                    but how will a beginner know if they need it?

                    Yeah it can be more clearly worded

                    This is a bit confusing to me, what does it mean?

                    Again, wording is vague, but for example I had an issue on 4.1.0 where I'd get an wrap::illegal_poly error, which is not present on the develop branch, pretty much what that is trying to say.

                    I would recommend not calling the folder HISE-develop. Go with the default HISE. That way when you want to switch between branches and commits it's less confusing.

                    Right, that makes more sense

                    It's best to use .xml for your main project file.

                    I didn't know that, good to know.

                    What does "or project-specific settings" mean? Isn't that the same as File > Settings?

                    It is, but the settings are project-specific. (I think. AI worded it wrong, I didn't catch that)

                    I don't see "Export > Export Tools" (is this an AI invention?)

                    What Christoph said, but I guess it would be clearer for the user to not mention Export Tools

                    I did make a video about this process recently that you might want to reference - although I assume the default locations for VS, FAUST, and IPP. I also included FFTW as an option.

                    A video is definitely helpful. I was thinking of adding screenshots but I didn't get to it.

                    I'll update it now!

                    1 Reply Last reply Reply Quote 1
                    • d.healeyD
                      d.healey @Christoph Hart
                      last edited by

                      @Christoph-Hart said in [GUIDE] Complete Setup for Compiling HISE with IPP and FAUST (Windows):

                      Export Tools is a subsection of the menu

                      Oh right, I see it now. I was looking for a submenu.

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

                      1 Reply Last reply Reply Quote 1
                      • c4k3ssC
                        c4k3ss @Christoph Hart
                        last edited by

                        @Christoph-Hart

                        I'd like to contribute the guide to the official installation guide in the documentation via PR, although I noticed the Contributing Guidelines link in the repository appears to be broken

                        1 Reply Last reply Reply Quote 0
                        • d.healeyD d.healey referenced this topic
                        • First post
                          Last post

                        30

                        Online

                        2.0k

                        Users

                        12.8k

                        Topics

                        110.7k

                        Posts