Comments (6)
This is finally fixed. With the latest commit, you get a decent error message.
Error: unhandled exception: /nimterop/nimterop/getters.nim(127, 5) `not hasKey(existing, nimName)`
Identifier 'SDL_GL_CONTEXT_RESET_NOTIFICATION' is a stylistic duplicate of identifier 'SDL_GLContextResetNotification', use 'cPlugin:onSymbol()' to rename [AssertionError]
User is expected to skip the problematic symbol or rename using plugin.
from nimterop.
Another example from GLES2: GL_BYTE
and GLbyte
origination from typedef khronos_int8_t GLbyte;
and #define GL_BYTE 0x1400
from nimterop.
@Araq - do you have any suggestions on how to differentiate these two? Here's the current output from nimterop:
type SDL_GLContextResetNotification* = distinct int
converter enumToInt(en: SDL_GLContextResetNotification): int {.used.} = en.int
type SDL_GLattr* = distinct int
converter enumToInt(en: SDL_GLattr): int {.used.} = en.int
const
headerb = "b.h"
abc* = 0.SDL_GLContextResetNotification
SDL_GL_CONTEXT_RESET_NOTIFICATION* = 0.SDL_GLattr
from nimterop.
the const
is lowercase, the type Uppercase.
from nimterop.
concrete proposals discussed here: https://github.com/genotrance/nimterop/wiki/identifier-mapping-proposal along with the approach I recommend: see proposal 4
from nimterop.
The new plugin system will allow the user to rename these problematic symbols per their preference. There's no clear solutions from the Nim compiler itself but we can at least allow the user to handle this situation for now. Nimterop will aim to provide clear errors and guidance so that users can figure out such situations clearly.
from nimterop.
Related Issues (20)
- Parsing a global variable that's a pointer to an array of functions
- Structs mapped from C header need completeStruct pragma, otherwise sizeof doesn't work on those
- VM does not support 'cast' from tyFloat to tyFloat HOT 2
- [Question] Change build directory HOT 1
- Toast parsing comment as var HOT 4
- Inject code to process `#define`? HOT 8
- Building Failed with nimble. HOT 2
- [Question] Binding to OpenCV HOT 2
- Using nimterop in MSYS2 Bash environment on Windows HOT 3
- Header path handling on Windows HOT 3
- βuint16_t β What happened?
- Typedef function with an enum return type
- Support OpenBSD
- The nimterop good this reference documentation to convert small C project
- [Question] Nimterop, libnx and DevKitPro | sys/lock.h : No such file or directory HOT 1
- "cmd: not found" when building using mingw building a windows executable in linux
- ssing comma in the example
- Toast segfault with comment after define
- Build fails due to `macro getHeader` Implementation
- Documentation
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 nimterop.