CppSharp 1.0.1
Install-Package CppSharp -Version 1.0.1
dotnet add package CppSharp --version 1.0.1
<PackageReference Include="CppSharp" Version="1.0.1" />
paket add CppSharp --version 1.0.1
#r "nuget: CppSharp, 1.0.1"
// Install CppSharp as a Cake Addin
#addin nuget:?package=CppSharp&version=1.0.1
// Install CppSharp as a Cake Tool
#tool nuget:?package=CppSharp&version=1.0.1
CppSharp is a tool and set of libraries which allows programmers to use C/C++ libraries with high-level programming languages (such as C#).
It is a tool that takes C/C++ header and library files and generates the necessary glue to surface the native API as a managed API. Such an API can be used to consume an existing native library in your high-level code or add scripting support to a native codebase.
The supported target languages at present are C# and C++/CLI.
It can also be used as a library to parse native code into a syntax tree with a rich declaration and type information model.
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp3.1 |
-
.NETCoreApp 3.1
- Microsoft.Win32.Registry (>= 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CppSharp:
Package | Downloads |
---|---|
Spout.NET
Spout.NET is a C# .NET Implementation for Spout2, A video frame sharing system. |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on CppSharp:
Repository | Stars |
---|---|
Ruslan-B/FFmpeg.AutoGen
FFmpeg auto generated unsafe bindings for C#/.NET and Core (Linux, MacOS and Mono).
|
|
ddobrev/QtSharp
Mono/.NET bindings for Qt
|
|
allisterb/jemalloc.NET
A native memory manager for .NET
|
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 9,918 | 12/30/2021 |
1.0.0 | 4,661 | 10/12/2021 |
0.11.2 | 10,327 | 2/4/2021 |
0.11.1 | 433 | 2/3/2021 |
0.11.0 | 511 | 1/29/2021 |
0.10.5 | 12,949 | 6/27/2020 |
0.10.4 | 743 | 5/23/2020 |
0.10.3 | 2,594 | 4/9/2020 |
0.10.2 | 4,224 | 3/28/2020 |
0.10.1 | 5,533 | 7/4/2019 |
0.10.0 | 955 | 6/25/2019 |
0.9.2 | 1,129 | 5/7/2019 |
0.9.1 | 808 | 4/13/2019 |
0.9.0 | 6,338 | 3/1/2019 |
0.8.23 | 935 | 1/31/2019 |
0.8.22 | 2,749 | 9/24/2018 |
0.8.21 | 1,483 | 8/1/2018 |
0.8.20 | 1,367 | 5/25/2018 |
0.8.19 | 1,858 | 2/4/2018 |
0.8.18 | 1,874 | 1/27/2018 |
0.8.17 | 1,243 | 12/25/2017 |
0.8.16 | 1,341 | 11/10/2017 |
0.8.15 | 907 | 11/7/2017 |
0.8.14 | 2,279 | 9/17/2017 |
0.8.13 | 1,353 | 7/18/2017 |
0.8.12 | 907 | 7/18/2017 |
0.8.11 | 1,634 | 6/4/2017 |
0.8.10 | 1,362 | 4/23/2017 |
0.8.9 | 1,003 | 4/16/2017 |
0.8.8 | 929 | 4/9/2017 |
0.8.7 | 1,106 | 3/27/2017 |
0.8.6 | 1,235 | 3/4/2017 |
0.8.5 | 971 | 3/4/2017 |
0.8.4 | 1,773 | 2/10/2017 |
0.8.3 | 963 | 2/5/2017 |
0.8.2 | 965 | 1/25/2017 |
0.8.1 | 899 | 1/22/2017 |
0.8.0 | 914 | 1/22/2017 |
0.7.13 | 955 | 1/16/2017 |
0.7.12 | 1,260 | 11/17/2016 |
0.7.11 | 889 | 11/13/2016 |
0.7.10 | 858 | 11/11/2016 |
0.7.9 | 1,097 | 11/2/2016 |
0.7.8 | 915 | 11/1/2016 |
0.7.7 | 1,054 | 11/1/2016 |
0.7.6 | 915 | 10/28/2016 |
0.7.5 | 891 | 10/27/2016 |
0.7.4 | 877 | 10/25/2016 |
0.7.3 | 949 | 10/1/2016 |
0.7.2 | 1,212 | 9/17/2016 |
0.7.1 | 897 | 9/13/2016 |
0.7.0 | 855 | 9/12/2016 |
0.6.0 | 947 | 6/24/2016 |
0.5.2 | 978 | 6/17/2016 |
0.5.1 | 887 | 6/17/2016 |
0.5.0 | 1,089 | 6/14/2016 |
- Generate valid C# for independent specialisations with nested fields
- Don't revisit parameters when checking to ignore
- Generate valid C# for templates with external specializations only
- Drop CI with windows 32-bit because of premake
- Generate valid C# for nested in external specializations
- Generate valid C# for independent external specializations
- Generate valid C# for nested external specializations
- Generate valid C# for unresolvable base templates
- Generate valid C# for classes with dependent fields nested in templates with independent fields
- Generate valid C++ for redeclaration of friends
- Generate valid C++ for specialisations with void
- Generate valid C# for pure functions returning or taking dependent pointers
- Fix a crash when processing templates with variable arguments (#1641)
- Report errors when linking of generated C++ fails
- Ensure complete classes in class templates
- Print C++ for some kinds of non-type template parameters
- Always ignore functions returning unsupported specializations
- Generate valid C# for unions in templates with non-type args
- Fix a test for the new msvc in vs 2022
- Match names of parameters in templates to their specializations
- Work around adding an STD name-space to a custom header
- Generate valid C# for fields with types system template specializations
- Generate valid C# for variables which use float
- Generate valid C# for variables with > 1 arg
- Generate valid C++ for variadic functions
- Fix C# layouts for classes with nameless unions
- Generate valid C# for copy ctors with extra args
- Generate valid C# for destructors of templates with dependent fields
- Don't generate or move ignored specializations
- Rename templates only used through aliases
- Generate valid C# for internal fields of type external specialization
- Generate valid C# for static object-typed fields
- Trim specializations only used in ignored types
- Instantiate specialized classes nested in templates
- Generate valid C++ for protected inline functions
- Generate valid C++ for parameters by value
- Generate valid C++ for conversion operators in name-spaced classes