How to compile Ctrlr or CtrlrX 5.6 versions in Visual Studio 2022 #717
Replies: 17 comments 77 replies
-
Thx for documenting this. Will be useful when I'll switch to VS2022. |
Beta Was this translation helpful? Give feedback.
-
I'll update the WIKI page about the compilation guides with your PDF. Thanks! In Windows 10, boost needs to be unzipped in the folder so that the path to files is : /boost/boost/boost_content |
Beta Was this translation helpful? Give feedback.
-
Note: On a fresh install of Windows 11, whether using the installer or just the executable standalone, CtrlrX did not load. Neither were there any error messages. Just totally unresponsive. To fix this I needed to install: Now it loads fine. |
Beta Was this translation helpful? Give feedback.
-
FYI, last week I built and compiled Ctrlx 5.6.32 on both Windows 10 and Windows 11 and it was straightforward. And I also started making a cleaner documentation of the build in my Ctrlr guide. Will complete it with some points you mentioned above. |
Beta Was this translation helpful? Give feedback.
-
Hi Damien, It looks like with the latest 5.6.34-Maintenance that in order to compile successfully on Windows, I need to uncheck AAX and possibly AU in this setting on the Projucer. Compiling fails otherwise. Does that seem about right to you? If so, I'll update the instructions for compiling here. |
Beta Was this translation helpful? Give feedback.
-
Updated to latest 5.6.34 Maintenance. We have boost 1.57 and it is 15.7MB Any comment / idea? |
Beta Was this translation helpful? Give feedback.
-
Here's how to compile CtrlrX in Windows PowerShell up to the point where you open projucer, including how to build a specific branch. Note that in this example the working directory is in Documents. cd C:\Users\$env:username\Documents\CtrlrX git clone https://github.com/damiensellier/CtrlrX cd .\Source\Misc\boost\ tar -xf .\boost.zip cd ../../../ git checkout --track origin/5.6.34-Maintenance
|
Beta Was this translation helpful? Give feedback.
-
Could you please add an exporter for VS2022 in Projucer, I don't have it on my Windows setup and I can't add it on macOS. On your Windows machine (with VS2022 installed):
Please post the .jucer file here and I'll check the custom settings and will push it to the github repo with the 3 variants (no AAX etc) Thanks! |
Beta Was this translation helpful? Give feedback.
-
Actually no - it is not working but I was able to compile using VS2019 in projucer, disabling AAX and including Boost 1.88 libraries manually extracted into Source\Misc\boost\boost I think the projucer as VS2022 doesn't prompt me to retarget solution to 1.43 When opening in projucer through VS2022 I get this error: BOOST version.cpp |
Beta Was this translation helpful? Give feedback.
-
This is code for displaying information about Lua,JUCE and Boost - maybe looks a bit messy but thought I would include the code in case you want to use it. |
Beta Was this translation helpful? Give feedback.
-
Hi Damien, Here is the projucer file with VS2022 added as exporter: |
Beta Was this translation helpful? Give feedback.
-
I think I'm a bit confused. I thought you needed me to create the file for you in Windows. But that's okay - I downloaded your version directly from GitHub and it compiles! |
Beta Was this translation helpful? Give feedback.
-
Just did a clean reinstall and building. For VS2022 the retarget SDK window doesn't popup in Visual Studio. Makes sense, so I will change the instructions above. Excellent stuff! |
Beta Was this translation helpful? Give feedback.
-
Here it is but with boost 1.57? You got luabind in there too! I was wondering about that.
|
Beta Was this translation helpful? Give feedback.
-
I deleted my CtrlrX folder (containing boost in
Maybe that doesn't update the boost folder? Anyway, that will be fixed when the branch |
Beta Was this translation helpful? Give feedback.
-
Some feedback:
Already OK:
Added a v4 Classic theme but the colors are not at all the ones specified. Need to understand why. Next to look at:
Missing nil attribute in replaceText() / appendText() is making CtrlrX crash (I have it in ReadStateData and in many places) Trying to find in 5.3 (build d0d40b5 february 2016) how the stripped background was done. Still not found. Again, thx a lot guys for your improvements and I hope my small contributions are also adding some value to you. |
Beta Was this translation helpful? Give feedback.
-
I agree that we should wean off Ctrlr as CtrlrX really gains momentum. Go to Damien's github and click here: ![]() This will create a fork of master on your GitHub. In a directory on your pc copy and paste this whole command:
You'll probably want to work on the latest branch unless that branch gets merged into master:
Now you have the latest branch on your pc. After working on some code, you might want to do a Pull Request for Damien to look at. At the moment your remote branch is pointing to Damien's repository https://github.com/damiensellier/CtrlrX. The trick is to upload to your github fork, so you need to remove reference to origin pointing to Damien's github:
Now your remote points to your fork:
To make changes to the code, create a new branch:
This should create a new branch containing all the code from the branch you downloaded with When you are happy with code changes
then commit with a message
Now we upload (push) to GitHub
If you now go to your GitHub, you should see a message prompting you to perform a PULL REQUEST It is true that I sometimes have trouble with git wanting to push big files, but I have never had it try to push the boost folder.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
These are basic instructions for compiling a Release version of CtrlrX
The same procedure applies to the Debug option in Visual Studio
This procedure is for Windows 11 - I am guessing the same for WIndows 10
Download CtrlrX Source Code
METHOD 1 (GUI based but harder)
(1) Download GitHib Desktop and install
(2) In GitHib Desktop
File -> Clone repository -> url type https://github.com/damiensellier/CtrlrX
(3) Choose C:\Users\%USERNAME%\Documents\CtrlrX\ *or another directory of your choosing
This is where all the source code is written to.
This clone of the repository defaults to the master branch, but you can choose different commits in the "Current Branch" tab
(4) Change into directory: C:\Users\%USERNAME%\Documents\CtrlrX\Source\Misc\boost
(5) Unzip the file to
./boost/boost/
boost_content.METHOD 2 (easier)
(1) Download Git for Windows
(2) In PowerShell
‡ Note on building a different branch:
Here, as an example, I want to build the latest branch 5.6.34-Maintenance.
Open PowerShell:
VST2 Support & Build Instructions
Important Note: VST2 Discontinuation and SDK Availability
We strongly recommend that users transition to building the VST3 version of CtrlrX instead of VST2, as VST3 is the current and actively supported standard.
Steinberg officially discontinued the VST2 API and SDK in January 2022. As a result, the VST2 SDK is no longer publicly available for download or new licensing. This means that for most new users, building a VST2.4 plugin directly from this project will not be possible without prior access to the SDK. For more information, please refer to Steinberg's official announcement: VST 2 Discontinued.
However, if you are an existing licensee of the VST2 SDK (meaning you had access to it prior to its discontinuation), you can still compile a VST2 version of CtrlrX. Your ability to build and distribute this VST2.4 version of the plugin will be governed solely by the terms of your specific VST2 SDK license agreement with Steinberg.
‡ How to point Projucer to the vst2 SDK path.
(1) Download VST2 SDK zip file
(2) Extract folder

pluginterfaces
(3) Move to folder to CtrlrX->Source->Plugin
(4) Open Projucer
(5) Set VST (Legacy Path) SDK to VST2 SDK folder in step (3) CtrlrX->Source->Plugin
Download Projucer
(1) Download juce-6.1.3-windows.zip from JUCE 6.1.3 and unzip:
(2) Open the Zipped download and click on the JUCE folder and extract the file Projucer.exe to your preferred folder:
Open Projucer
(1) From within projucer, navigate to the jucer file in the CtrlrX folder ( C:\Users\%USERNAME%\Documents\CtrlrX)
Choose the file CtrlrX 5.6.34 [Without AAX].jucer
(2) Click File -> Global paths and set the following paths:
(3) Click on the Selected Exporter window
(4) Select Visual Studio 2022 and click the Visual Studio icon. Visual Studio 2022 should automatically open.
(5) Close Projucer
Compiling CtrlrX
In Visual Studio, if you receive a prompt to retarget Projects:
Select Upgrade to v143
‡ Note: You shouldn't have to do this if you chose VS 2022 as selected exporter in projucer.
(1) There are two dropdown menus at the top of the menu.
Choose Release x64
(2) Now we can try to build CtrlrX.
If you chose Release, you will find the newly built executable, VST and VST3 files in:
C:\Users\%USERNAME%\Documents\CtrlrX\Builds\VisualStudio2022\x64\Release\Standalone Plugin
If you get a "The program can't start because MSVCP140.dll is missing .." error:
Install the Latest Microsoft Visual C++ Redistributable Version for either x86 or x64:
https://aka.ms/vs/17/release/vc_redist.x86.exe
https://aka.ms/vs/17/release/vc_redist.x64.exe
You should be able to now run your own compiled version of CtrlrX.
Build CtrlX on Windows.pdf
Beta Was this translation helpful? Give feedback.
All reactions