Skip to content

GabberBaby/cs2cpp

 
 

Repository files navigation

C# to C++ transpiler (Cs2Cpp)

The Cs2Cpp repo contains the complete source code implementation for Cs2Cpp. It includes CoreLib, and many other components. It is cross-platform.

Chat Room

Want to chat with other members of the Cs2Cpp community?

Join the chat at https://gitter.im/ASDAlexander77/cs2cpp

Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.

License

Cs2Cpp is licensed under the MIT license.

Quick Start

Prerequisite: CMake, .NET 4.6, GCC 5.0+ or Microsoft Visual C++ 2015

  1. Build Project
  • cd Il2Native
  • MSBuild CoreLib.csproj /p:Configuration=Debug /p:Platform="Any CPU"
  1. Build CoreLib (aka mscorlib)
  • cd CoreLib
  • MSBuild CoreLib.csproj /p:Configuration=Release /p:Platform="AnyCPU"
  1. Create a temporary folder to build projects/files
  • cd ....
  • mkdir playground
  • cd playground
  1. Generating CoreLib C++ project
  • ..\Il2Native\Il2Native\bin\Debug\Cs2Cpp.exe ..\Il2Native\CoreLib\CoreLib.csproj
  1. Compile it
  • cd CoreLib
  • build_prerequisite_vs2015_debug.bat
  • build_vs2015_debug.bat

Now you have compiled CoreLib (mscorelib)

  1. Compile HelloWorld.cs
  • cd ..
  • create file HelloWorld.cs
using System;

class X {
	public static int Main (string [] args)
	{
		Console.WriteLine ("Hello, World!");
		return 0;
	}
}
  • ..\Il2Native\Il2Native\bin\Debug\Cs2Cpp.exe HelloWorld.cs /corelib:..\Il2Native\CoreLib\bin\Release\CoreLib.dll
  • cd HelloWorld
  • build_vs2015_release.bat

Now you have HelloWorld.exe

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 97.0%
  • Smalltalk 2.6%
  • Other 0.4%