CppSharp 1.0.1
See the version list below for details.
dotnet add package CppSharp --version 1.0.1
NuGet\Install-Package CppSharp -Version 1.0.1
<PackageReference Include="CppSharp" Version="1.0.1" />
<PackageVersion Include="CppSharp" Version="1.0.1" />
<PackageReference Include="CppSharp" />
paket add CppSharp --version 1.0.1
#r "nuget: CppSharp, 1.0.1"
#:package CppSharp@1.0.1
#addin nuget:?package=CppSharp&version=1.0.1
#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 Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Microsoft.Win32.Registry (>= 5.0.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on CppSharp:
| Package | Downloads |
|---|---|
|
Spout.NET
Spout.NET is a C# .NET Implementation for Spout2, A video frame sharing system. |
|
|
BindingGenerator
CppSharp based binding generator for dotnet |
|
|
Spout.NETCore
Package to invoke spout from c# |
GitHub repositories (6)
Showing the top 6 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
|
|
|
sdcb/OpenVINO.NET
High quality .NET wrapper for OpenVINO™ toolkit.
|
|
|
sdcb/Sdcb.FFmpeg
FFmpeg basic .NET API generated by CppSharp
|
|
|
allisterb/jemalloc.NET
A native memory manager for .NET
|
|
|
Dtronix/PDFiumCore
.NET Standard P/Invoke bindings for PDFium.
|
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.1.84.17100 | 1,339 | 11/19/2025 | |
| 1.1.5.3168 | 77,721 | 10/18/2023 | |
| 1.1.1.10805 | 7,923 | 10/18/2023 | |
| 1.0.76.8341 | 8,764 | 10/18/2023 | |
| 1.0.54.626 | 34,291 | 5/31/2023 | |
| 1.0.45.22293 | 29,932 | 2/6/2023 | |
| 1.0.1 | 63,031 | 12/30/2021 | |
| 1.0.0 | 19,544 | 10/12/2021 | |
| 0.11.2 | 21,449 | 2/4/2021 | |
| 0.11.1 | 9,506 | 2/3/2021 | |
| 0.11.0 | 9,719 | 1/29/2021 | |
| 0.10.5 | 35,579 | 6/27/2020 | |
| 0.10.4 | 2,673 | 5/23/2020 | |
| 0.10.3 | 4,855 | 4/9/2020 | |
| 0.10.2 | 6,207 | 3/28/2020 | |
| 0.10.1 | 8,020 | 7/4/2019 | |
| 0.10.0 | 3,299 | 6/25/2019 |
- 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