Comments (3)
Ah, I see. That should be trivial enough to add given that its validating things on the normal path now.
from clangsharp.
@FiniteReality, the tooling now runs explicit logic to validate the loaded library version is as expected (https://github.com/microsoft/ClangSharp/blob/main/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs#L58-L70):
var clangVersion = clang.getClangVersion().ToString();
if (!clangVersion.Contains("13.0.0"))
{
throw new InvalidOperationException($"Invalid libClang version. Returned string '{clangVersion}' does not contain '{ExpectedClangVersion}'");
}
var clangSharpVersion = clangsharp.getVersion().ToString();
if (!clangSharpVersion.Contains("13.0.0"))
{
throw new InvalidOperationException($"Invalid libClang version. Returned string '{clangSharpVersion}' does not contain '{ExpectedClangSharpVersion}'");
}
Outside of this, there isn't much that can be done as DllNotFoundException
is handled internally by the runtime interop handling; so this is a matter of it not finding libClangSharp
in the first place. Setting LD_DEBUG
would be the right way to determine what paths where being searched for libClangSharp
in this scenario (as .NET and ClangSharp simply use the system default).
from clangsharp.
Yeah. The idea was that I could use ClangSharpPInvokeGenerator --version
to check that it can find and load the libraries without having it try to do any actual work.
from clangsharp.
Related Issues (20)
- Incorrect enum base type
- More verbose "Log Exclusions" Option?
- The generated .cs file doesn't work (Unhandled exception. System.EntryPointNotFoundException) HOT 5
- AccessViolationException in ClangSharp.CXXMethodDecl.VtblIndex (ClangSharp.Interop.clangsharp.Cursor_getVtblIdx) HOT 1
- How to use wildcard in `--with-using`?
- Newby Question: Could I use your project to build a C# interface for https://github.com/infiniflow HOT 1
- Support generating equality operators or IEquattable<T> implementation in C# via ClangSharpPInvokeGenerator HOT 2
- Unable to find package libClangSharp.runtime.linux-arm64 with version (>= 17.0.4) HOT 1
- System.UnauthorizedAccessException: Access to the path is denied HOT 2
- How to include a system header required by the file to parse HOT 2
- Standardization of XML Output HOT 1
- Built Native failed HOT 3
- Latest 18.1.0 release breaks type remapping for args with spaces in them HOT 2
- Passing `generate-file-scoped-namespaces` results in extra curly brace being added to end of file HOT 3
- Parsing ESPMode::ThreadSafe as Template Argument in Version 18.0.1
- Structure field type remapping
- UnqualifiedDesugaredType does not return an unqualified type HOT 2
- Behavior of --with-attribute has changed? HOT 2
- How to handle types defined outside header without include HOT 1
- How to generate comments using PInvokeGenerator
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clangsharp.