CppSharp 0.10.3
See the version list below for details.
dotnet add package CppSharp --version 0.10.3
NuGet\Install-Package CppSharp -Version 0.10.3
<PackageReference Include="CppSharp" Version="0.10.3"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add CppSharp --version 0.10.3
#r "nuget: CppSharp, 0.10.3"
// Install CppSharp as a Cake Addin #addin nuget:?package=CppSharp&version=0.10.3 // Install CppSharp as a Cake Tool #tool nuget:?package=CppSharp&version=0.10.3
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.
The NuGet version is Windows 64-bit only for the time being. Binary 32-bit releases for Windows can be found at https://github.com/mono/CppSharp/releases .
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
-
- Baseclass.Contrib.Nuget.Output (>= 2.4.3)
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 | 38,162 | 10/18/2023 | |
1.1.1.10805 | 7,599 | 10/18/2023 | |
1.0.76.8341 | 8,545 | 10/18/2023 | |
1.0.54.626 | 20,485 | 5/31/2023 | |
1.0.45.22293 | 23,555 | 2/6/2023 | |
1.0.1 | 55,746 | 12/30/2021 | |
1.0.0 | 17,929 | 10/12/2021 | |
0.11.2 | 20,578 | 2/4/2021 | |
0.11.1 | 9,207 | 2/3/2021 | |
0.11.0 | 9,399 | 1/29/2021 | |
0.10.5 | 28,443 | 6/27/2020 | |
0.10.4 | 2,348 | 5/23/2020 | |
0.10.3 | 4,550 | 4/9/2020 | |
0.10.2 | 5,897 | 3/28/2020 | |
0.10.1 | 7,577 | 7/4/2019 | |
0.10.0 | 2,892 | 6/25/2019 | |
0.9.2 | 2,760 | 5/7/2019 | |
0.9.1 | 2,376 | 4/13/2019 | |
0.9.0 | 7,927 | 3/1/2019 | |
0.8.23 | 2,662 | 1/31/2019 | |
0.8.22 | 4,448 | 9/24/2018 | |
0.8.21 | 3,199 | 8/1/2018 | |
0.8.20 | 3,048 | 5/25/2018 | |
0.8.19 | 3,494 | 2/4/2018 | |
0.8.18 | 3,535 | 1/27/2018 | |
0.8.17 | 2,950 | 12/25/2017 | |
0.8.16 | 3,125 | 11/10/2017 | |
0.8.15 | 2,540 | 11/7/2017 | |
0.8.14 | 4,164 | 9/17/2017 | |
0.8.13 | 2,941 | 7/18/2017 | |
0.8.12 | 2,496 | 7/18/2017 | |
0.8.11 | 3,257 | 6/4/2017 | |
0.8.10 | 2,968 | 4/23/2017 | |
0.8.9 | 2,550 | 4/16/2017 | |
0.8.8 | 2,470 | 4/9/2017 | |
0.8.7 | 2,684 | 3/27/2017 | |
0.8.6 | 2,858 | 3/4/2017 | |
0.8.5 | 2,531 | 3/4/2017 | |
0.8.4 | 3,408 | 2/10/2017 | |
0.8.3 | 2,621 | 2/5/2017 | |
0.8.2 | 2,608 | 1/25/2017 | |
0.8.1 | 2,566 | 1/22/2017 | |
0.8.0 | 2,356 | 1/22/2017 | |
0.7.13 | 2,547 | 1/16/2017 | |
0.7.12 | 2,821 | 11/17/2016 | |
0.7.11 | 2,468 | 11/13/2016 | |
0.7.10 | 2,390 | 11/11/2016 | |
0.7.9 | 2,561 | 11/2/2016 | |
0.7.8 | 2,412 | 11/1/2016 | |
0.7.7 | 2,645 | 11/1/2016 | |
0.7.6 | 2,537 | 10/28/2016 | |
0.7.5 | 2,431 | 10/27/2016 | |
0.7.4 | 2,480 | 10/25/2016 | |
0.7.3 | 2,475 | 10/1/2016 | |
0.7.2 | 2,752 | 9/17/2016 | |
0.7.1 | 2,436 | 9/13/2016 | |
0.7.0 | 2,395 | 9/12/2016 | |
0.6.0 | 2,376 | 6/24/2016 | |
0.5.2 | 2,399 | 6/17/2016 | |
0.5.1 | 2,321 | 6/17/2016 | |
0.5.0 | 2,499 | 6/14/2016 |
# CppSharp 0.10.3 9.4.2019
* Ensure complete template specializations in AST
* Add an option and checking for generation of deprecated declarations
* Implement parsing and AST processing of C++ deprecated attributes
* Make sure we use a native type printer for symbols code generation
* Git ignore new include folders for cross generation
* Fix marshaling for wchar_t in C++ generator mode
* Fix includes setup for parser bindings generation in macOS host platform
* Fix generation of field property setters in C++ generator
* Fix FieldToProperty pass to ignore non-public properties in C++ generator
* Fix declaration access for generated fields flattened from anonymous types
* Change standard type maps to be more specific about its supported generators
* Generate forward ref header for enum defined inside a class in C++/CLI (#1322) - Ali Alamiri
* Move the GenerateInclude logic to GetTypeReference (#1319) - Ali Alamiri
* By reference enum param fixes (#1321) - Ali Alamiri
* Add declaration context as object to function class block - Ali Alamiri
* Add blocks for ctor, dtor, and finalizer bodies. Add constructor that takes a bool from the caller to indicate if the callee should own the pointer passed to it or not - Ali Alamiri
* Add generic type map handling methods for later refactoring of generators
* Fix type printing of typedef qualifiers in C++ type printer
* Fix C++ parser ambiguity in generation of C++ method identifiers by wrapping them in parens
* Fix generation of C++ constructor for abstract classes
* Fix generation of native instance constructors in C++ generator
* Fix marshaling of C++ references in C++ marshaler
* Minor refactoring to allow better IDE inspection and debugging
* Rewrite GenerateEnumFromMacros to search through multiple translation units
* Fix CppTypePrinter to check for typemaps for tag types and keep track of them
* Implement a few overloads in CppTypePrinter that trigger the type maps checking code
* Fix ignore type checking to take type maps into account
* Fix ignored declaration checking to properties desugar field types
* Fix GetterSetterToProperty pass heuristic to also detect “on” as a verb
* CppTypePrinter now takes a BindingContext for further usage in type maps handling
* Only generate “override” in header files for C++ generator
* Guard MoveFunctionToClassPass pass registration against CLI and C# generators
* Ignore generated field method acessors when processing properties in GetterSetterToProperty
* Add cli namespace to header to ensure the array type does not conflict with other types called array - Ali Alamiri
* Marshal non primitive fixed arrays (#1311) - Ali Alamiri
* Ensure typedefs of std::vector are mapped - Ali Alamiri
* Simplify the structure of the LLVM package
* Always keep default constructors in the AST
* Keep copy/move constructors and assignment in AST
* Move the body of a template function to its header
* Implement proper array printing with C array name suffix notation
* Fix CLITypeReferences so it generates regular C++ code in C++ generator mode
* Add CXXOperatorArityZero enum item for further usage in subsequent code
* Initial C++ generator backend