My intention is to take a C++ library, wrap it for C# with SWIG (alt. link), and compile both C++ and C# components as DLLs for Unity 5. (The C# DLL provides Unity with an interface to the C++ DLL.)
To the best of my knowledge, compiling C++ and C# DLLs always requires Visual Studio (or tools like msbuild
that come with VS). However, I am currently struggling to get VS installed, which has led me to question that assumption.
Are there any other options for compiling Unity-ready DLLs on Windows?
(Even if I get VS installed, I'm still curious to know.)
Use command line tools like
csc (C# Compler)
, they have everything to do the job, you do not need anything else, check this out the Link.You just need to install .Net framework to get the compiler no VS or any other tool required. It has switch for every option provided by VS.
In case you need assembly linking use the Assembly Linker tool Link.
Check the following Link on ILMerge too
You can download a stand alone version of MSBuild and use that to compile you code, you don't need VS for that.
There's a walkthrough here:
You can also compile your project with MonoDevelop. You just have to choose the Release Mode instead of the Debug one.
Yes, you can use MinGW to compile C++ to a DLL from the commandline.
If you prefer a GUI interface, you might try Code::Blocks. It comes bundled with a tweaked version of MinGW, but since it's a GUI-based IDE you don't have to interact with it directly :)
However, you'll still need to get your swig-wrapped code into a C# DLL. I'd investigate whether MonoDevelop can achieve this.
EDIT: Just seen ReCoF's answer - it seems you can use MonoDevelop for the C# side of things so you're good to go :)