ClangSharpPInvokeGenerator.linux-x64
21.1.8.4
Requires NuGet 4.3 or higher.
dotnet add package ClangSharpPInvokeGenerator.linux-x64 --version 21.1.8.4
NuGet\Install-Package ClangSharpPInvokeGenerator.linux-x64 -Version 21.1.8.4
<PackageReference Include="ClangSharpPInvokeGenerator.linux-x64" Version="21.1.8.4" />
<PackageVersion Include="ClangSharpPInvokeGenerator.linux-x64" Version="21.1.8.4" />
<PackageReference Include="ClangSharpPInvokeGenerator.linux-x64" />
paket add ClangSharpPInvokeGenerator.linux-x64 --version 21.1.8.4
#r "nuget: ClangSharpPInvokeGenerator.linux-x64, 21.1.8.4"
#:package ClangSharpPInvokeGenerator.linux-x64@21.1.8.4
#addin nuget:?package=ClangSharpPInvokeGenerator.linux-x64&version=21.1.8.4
#tool nuget:?package=ClangSharpPInvokeGenerator.linux-x64&version=21.1.8.4
ClangSharpPInvokeGenerator
ClangSharpPInvokeGenerator is a .NET tool that generates strongly-typed C#/.NET P/Invoke bindings from C and C++ header files by parsing them with libclang. It is part of the ClangSharp project, which is self-hosted and uses this tool to auto-generate its own bindings.
Installing
Install the generator as a global .NET tool:
dotnet tool install --global ClangSharpPInvokeGenerator
NOTE: The generator depends on the native libClang and libClangSharp libraries. When running as a .NET tool, you may need to manually copy the appropriate native DLLs from the libClang and libClangSharp packages due to limitations in the .NET tool support. See #46 and #118 for details.
Usage
At a minimum, the tool expects one or more input files (-f), an output namespace (-n), and an output location (-o):
ClangSharpPInvokeGenerator -f example.h -n Example.Namespace -o Example.cs
The simplest and recommended setup is to use a response file, which lets you specify and check in the command line arguments in a text file with one argument per line:
ClangSharpPInvokeGenerator @generate.rsp
See GenerateClang.rsp for a real-world example. A typical response file also specifies explicit files to traverse, configuration options, name remappings, and other fixups.
You can see the full set of available switches by passing --help, and the available configuration options by passing -c help.
More information
- Best practices for driving the generator: https://github.com/dotnet/ClangSharp/blob/main/docs/generating-bindings-best-practices.md
- Full documentation and the list of options: https://github.com/dotnet/ClangSharp#generating-bindings
- Source repository: https://github.com/dotnet/ClangSharp
License
Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See LICENSE.md in the repository root for more information.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.