CppSharp 1.0.0
See the version list below for details.
dotnet add package CppSharp --version 1.0.0
NuGet\Install-Package CppSharp -Version 1.0.0
<PackageReference Include="CppSharp" Version="1.0.0" />
paket add CppSharp --version 1.0.0
#r "nuget: CppSharp, 1.0.0"
// Install CppSharp as a Cake Addin #addin nuget:?package=CppSharp&version=1.0.0 // Install CppSharp as a Cake Tool #tool nuget:?package=CppSharp&version=1.0.0
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. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Microsoft.Win32.Registry (>= 4.7.0)
NuGet packages (2)
Showing the top 2 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 |
GitHub repositories (7)
Showing the top 5 popular GitHub repositories that depend on CppSharp:
Repository | Stars |
---|---|
tooll3/t3
Tooll 3 is an open source software to create realtime motion graphics.
|
|
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
|
Version | Downloads | Last updated | |
---|---|---|---|
1.1.5.3168 | 40,426 | 10/18/2023 | |
1.1.1.10805 | 7,632 | 10/18/2023 | |
1.0.76.8341 | 8,562 | 10/18/2023 | |
1.0.54.626 | 21,034 | 5/31/2023 | |
1.0.45.22293 | 24,012 | 2/6/2023 | |
1.0.1 | 56,125 | 12/30/2021 | |
1.0.0 | 18,005 | 10/12/2021 | |
0.11.2 | 20,602 | 2/4/2021 | |
0.11.1 | 9,208 | 2/3/2021 | |
0.11.0 | 9,400 | 1/29/2021 | |
0.10.5 | 28,704 | 6/27/2020 | |
0.10.4 | 2,352 | 5/23/2020 | |
0.10.3 | 4,555 | 4/9/2020 | |
0.10.2 | 5,899 | 3/28/2020 | |
0.10.1 | 7,592 | 7/4/2019 | |
0.10.0 | 2,900 | 6/25/2019 | |
0.9.2 | 2,764 | 5/7/2019 | |
0.9.1 | 2,380 | 4/13/2019 | |
0.9.0 | 7,928 | 3/1/2019 | |
0.8.23 | 2,663 | 1/31/2019 | |
0.8.22 | 4,452 | 9/24/2018 | |
0.8.21 | 3,200 | 8/1/2018 | |
0.8.20 | 3,049 | 5/25/2018 | |
0.8.19 | 3,495 | 2/4/2018 | |
0.8.18 | 3,561 | 1/27/2018 | |
0.8.17 | 2,952 | 12/25/2017 | |
0.8.16 | 3,127 | 11/10/2017 | |
0.8.15 | 2,544 | 11/7/2017 | |
0.8.14 | 4,169 | 9/17/2017 | |
0.8.13 | 2,942 | 7/18/2017 | |
0.8.12 | 2,500 | 7/18/2017 | |
0.8.11 | 3,258 | 6/4/2017 | |
0.8.10 | 2,969 | 4/23/2017 | |
0.8.9 | 2,551 | 4/16/2017 | |
0.8.8 | 2,474 | 4/9/2017 | |
0.8.7 | 2,688 | 3/27/2017 | |
0.8.6 | 2,859 | 3/4/2017 | |
0.8.5 | 2,532 | 3/4/2017 | |
0.8.4 | 3,415 | 2/10/2017 | |
0.8.3 | 2,622 | 2/5/2017 | |
0.8.2 | 2,609 | 1/25/2017 | |
0.8.1 | 2,570 | 1/22/2017 | |
0.8.0 | 2,357 | 1/22/2017 | |
0.7.13 | 2,548 | 1/16/2017 | |
0.7.12 | 2,825 | 11/17/2016 | |
0.7.11 | 2,469 | 11/13/2016 | |
0.7.10 | 2,391 | 11/11/2016 | |
0.7.9 | 2,562 | 11/2/2016 | |
0.7.8 | 2,413 | 11/1/2016 | |
0.7.7 | 2,646 | 11/1/2016 | |
0.7.6 | 2,538 | 10/28/2016 | |
0.7.5 | 2,432 | 10/27/2016 | |
0.7.4 | 2,481 | 10/25/2016 | |
0.7.3 | 2,476 | 10/1/2016 | |
0.7.2 | 2,753 | 9/17/2016 | |
0.7.1 | 2,437 | 9/13/2016 | |
0.7.0 | 2,396 | 9/12/2016 | |
0.6.0 | 2,377 | 6/24/2016 | |
0.5.2 | 2,400 | 6/17/2016 | |
0.5.1 | 2,322 | 6/17/2016 | |
0.5.0 | 2,500 | 6/14/2016 |
- Add built-in compilation of extra symbols
- Fix naming for function pointers with strings
- Ignore external (no module) translation units
- Fix instantiation of specializations not to crash
- Generate valid C# for default args: typedefed refs to enums assigned empty ctors
- Extend finding of functions to also get overloads
- Ensure valid C# for default args assigned secondary bases
- Generate valid C++ for protected ctors of pure classes
- Generate valid C# for constants in namespaceless modules
- Generate valid C# for types nested in external typedef-ed specializations
- Generate valid C# with explicit external specializations
- Fix templated indexers returning objects
- Generate valid C# for specializations in default args
- Generate valid C++ for pure implemented dtors
- Free returned by value instances, not object ones
- Generate valid C# for forwarded specializations
- Bind default constructors with dependent pointers
- Generate valid C# for setters returning Booleans
- Place returns as needed without an extra block
- Generate valid C# for default params in specialisations
- Resolve overloads with typedef-ed mapped params
- Generate C++ deconflicted with system functions (#1626)
- Don't print tags for nameless and typedef classes
- Fix C4099 (class as struct) in generated C++/CLI
- Bind the tag kind (struct, class, enum) of a type
- Regenerate the parser bindings
- Delete the C++ copy when returning by value (#1623)
- Delete the longer needed patching of msvc headers
- Don't evaluate dependent variables
- Delete the longer needed patching of msvc headers
- Update LLVM to the latest version
- Fix for "vector subscript out of range" exception (#1621)
- Fix incorrect dtor call for non-owned instances (#1615)
- Fix regressed marshalling of lists in C++/CLI
- Fix for Visual Studio 2019 16.10 (#1614)
- Generate valid C# for public fields of typedef-ed primitive pointer
- Resolve names matching those of system functions
- Add a mechanism to selectively initialize allocated unmanaged memory in the default constructor.
- Much improved support for marshaling const char* to string
- Enhanced ExpressionEvaluator to return implicitly typed uint, long, and ulong values from EvaluateNumber when there is no literal type suffix applied to a numeric expression string.
- Attempt to resolve a GitHub CI Actions isue: CI is currently failing because restore can't find NUnit and friends. The error message and google search indicate that GitHub Actions is only looking in the "Microsoft Visual Studio Offline Packages" cache. Add a nuget.config file to in an attempt to tell GitHub Actions to query nuget.org in addition to the offline cache.
- bug fix: When generating the get accessor for a field composed of an embedded array of structs use __GetOrCreateInstance to initialize the managed array wrapper rather than __CreateInstance so that __Instance holds a pointer to the memory allocated for the array in the outer struct rather than an independent copy of that memory.
- Repaired broken alignment padding generation for structs with embedded arrays of structs
- Generate comments for field
- Fix the regressed generation of C++ for variables
- Add work-in-progress TypeScript interface bindings generator.
- Add MarkEventsWithUniqueIdPass pass for global event handling.
- Maintain DeclarationsList integrity by clearing item offsets.
- Add CppSharp VS Code workspace.
- Implement two-step initialization for QuickJS.
- Add QuickJS runtime project and initial features.
- Improve support for default arguments in NAPI generator.
- Add support for generation of default argument expressions in C generator.
- Add experimental GenerateExternalDataFields option and supporting code.
- Add C code generator GenerateClassEvents for common event handling.
- Introduce a scope kind stack for type printers.
- Rework C enum generation for more accurate handling.
- Add convenience constructor to ArrayType.
- Create target directory when generating files.
- Add new pass to convert C++ FastDelegate types into CppSharp delegates.