CppSharp 0.10.2
See the version list below for details.
dotnet add package CppSharp --version 0.10.2
NuGet\Install-Package CppSharp -Version 0.10.2
<PackageReference Include="CppSharp" Version="0.10.2"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add CppSharp --version 0.10.2
#r "nuget: CppSharp, 0.10.2"
// Install CppSharp as a Cake Addin #addin nuget:?package=CppSharp&version=0.10.2 // Install CppSharp as a Cake Tool #tool nuget:?package=CppSharp&version=0.10.2
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 | 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 |
* Associate getter/setter methods with their associated property in GetterSetterToProperty pass
* Added optional getter/setter pair creation for fields in FieldToProperty pass
* Refactor CLI handling of enums to be based on generic C generator
* Default to .h file extension in C code generator
* Add helper methods to ignore and generate specific translation units
* Guard a few more language-specific passes in the driver
* Fix generation of multiple interfaces in C# for some edge cases
* Fix templates to be abstract if any specialization is abstract
* Fix TranslationUnit.FileRelativePath for invalid units
* Re-use common C++ declaration type printing code in CLITypePrinter
* Allow changing the default TypePrinterContextKind when creating a type printer
* Remove needless pointer offsets from generated C#
* Fix a crash for secondary bases with secondary bases
* Fix bug related to processing of potential property methods
* Ensure generated symbols can use placement new
* Fix Mono not being found on the PATH on recent macOS versions
* Instantiate exception specifications before reading
* Update LLVM to the latest version
* Fix a syntax error in CMake listing Clang modules
* Enable building lld as part of LLVM
* Restore modules needed for compiling with Clang
* Support Visual Studio 2019 for building Clang
* Update Travis to Ubuntu Xenial 18.04
* Simplify and optimize the printing of pointers in C++
* Fix printing of function pointers in C++
* Don't export symbols for explicit specializations
* Avoid invalid template specializations in tests
* Update the printing of comments to the new Clang
* Work around MSVC 32 crashing reading of exported symbols in Mach-O
* Improve Xcode toolchain lookup to be more robust
* Implement logic for -fgnuc-version= argument required by LLVM
* Update LLVM to the latest version
* Refactor Clang builtins directory logic and move it to the managed side
* Escape C# strings correctly
* Improve CS_INTERNAL so it now applies to all declarations
* Print the parser target triple in verbose mode
* Always re-create the Clang resource directory when building
* Cleanup Clang resource directory lookup logic
* Remove old workaround for testing issue that does not seem necessary anymore
* Git ignore .vscode directory
* Workaround Premake issue when copying the resource include directories at build time
* Fix warning about #pragma once in source file
* Update bootstrap tool to run against latest LLVM
* Update bootstrap tool to find LLVM build directory
* Add options to disable tests and examples from the build
* Improve the ignoring of dependent name types
* Implement UnresolvedUsingType and UnresolvedUsingTypename
* Fix the tests for exception types
* Switch to Xcode 11 in Travis CI
* Extend printing and reading of exception types
* Fix the check to ignore dependent name types
* Ignore unused destructors when generating symbols
* Fix the printing of "noexcept" in C++
* Make destructors virtual in abstract classes for tests
* Avoid generating abstract implementations for template classes
* Fix template type checking in CovariantTypeComparer
* Git ignore nested temporary obj folders
* Workaround System.TypeLoad exception when running test-suite on macOS
* Fix enum with zeros for hex literals
* Fix the moving of free functions to classes to match by module too
* Generate valid C# when an external module has an unsupported operator
* Fix a possible overflown stack when ignoring
* Force compilation of all functions of specializations
* Fill in missed values when cloning functions
* Optimize the moving of functions to classes
* Delete a custom pass added as standard
* Fix the C++ printing of function pointers in parameters
* Eliminate generated symbols for ignored functions
* Fix printing of type defs in C++
* Remove the internal C# functions for virtual destructors
* Give unique names to exported inlined functions
* Generate symbols for methods of specializations
* Optimize all passes which visited useless items
* Make the pass for properties more extendable
* Simplify overrides of overrides of secondary bases
* Optimize calls to base getters in properties
* Fix comparison of char and const char* in overloading
* Optimize the pass for properties
* Clarify limitations around exceptions and RTTI
* Destroy returned by value std::strings
* Upgrade ANSI marshalling to UTF-8 marshalling
* Generate valid C# when a renamed override causes conflicts
* Ensure protected nested types are accessible with multiple inheritance
* Fix the regressed indentation of printed comments
* Generate projects for .NET 4.7 to use new features
* Simplify the generated C# for marshalling strings