Comments (4)
VA_ARGS does not expand correctly. Can you post the compile command line? It is more like you forget to enable some flags.
from lua-intf.
Hey Steve,
I figured out what the reason was, I had to use using namespace LuaIntf; in my code rather then using LuaIntf::LuaBinding(L), so now it's all working fine.
I do have a other question if you don't mind:
I am using boost I'm my application and noticed that the function LuaCppObjectFactory uses static cast, however I believe with boost you need to use static_pointer_cast. so I hacked it and changed it to : return boost::static_pointer_cast<CppObjectSharedPtr<SP, T>>(obj)->sharedPtr();
That seem to work fine, any suggestions for a proper fix? I was thinking to do something like
LUA_USING_STATIC_CAST_TYPE(boost::static_pointer_cast) but I am not sure if that's truly the right solution as my daily work isn't c++ but java.
from lua-intf.
No, it is not necessary, the original code works fine. boost::static_pointer_cast (and std::static_pointer_cast) is to cast shared_ptr<T>
to shared_ptr<U>
, and LuaIntf don't do that kind of casting.
However, I do find a bug in the static_cast of the following line:
return static_cast<CppObjectSharedPtr<SP, T>>(obj)->sharedPtr();
should be:
return static_cast<CppObjectSharedPtr<SP, T>*>(obj)->sharedPtr();
ah, miss a '*'. I really need to add more testing, I will add them later.
from lua-intf.
Hello Steve,
thanks for taking a look at this and tomorrow morning I am going to take a second look at the change I made and see if I can go without the change I made.
Currently I have everything working with your library, and the use of shared pointer's , this is the code I am currently working on : https://github.com/rvt/kerneldev/blob/master/lcadluascript/cad/lualibrecadbridge.cpp
Background, I am working on a new version of LibreCAD and with lua scripting we can start testing functionality without adding UI functionality by simply scripting it.
from lua-intf.
Related Issues (20)
- Why LuaRef::call is not const? HOT 1
- Passing a C++ shared_ptr to LUA HOT 1
- How to make exported module non-global? HOT 6
- Can't bind lua_State* or Lambda to getter/setter HOT 3
- Getting pointer to the object from the Lua stack with LuaRef? HOT 1
- unprotected error in call to lua api when passing std::vector as argument in luaref calls
- How do I work on a returning pointer in Lua? HOT 1
- LUA_FN issues
- Bunch of warnings with /W4 in Visual C++
- How to start with the wrapper? HOT 7
- How can I know the function name from LuaRef HOT 4
- error: no member named 'clear' in 'LuaIntf::LuaRef'
- Comparison of userdata in scripts HOT 1
- Luajit support
- mutithread error handle
- lua_isinteger is missing in LuaState
- Support Lua 5.4
- Svar: Consider using a unified binding across languages
- pass args from lua to cpp problem in coroutines HOT 1
- Calling c++ function dosen't return value correctly in lua coroutine function, it just returned function's input arguments HOT 1
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 lua-intf.