Comments (8)
I cannot think of a way to fix it unless explicitly exclude one of the two definitions for borlandc. could you try adding a macro excluding borlandc compiler from the int8_t specialization:
#if !defined(__BORLANDC__)
template <>
struct Stack<int8_t>
{
...
};
#endif
if that works, i can add it to the library
from luabridge3.
That linker issue is a different problem, seems like you are linking a library made with mingw, have you tried compiling lua with borlandc instead ?
from luabridge3.
@Dediggefedde does this work for you ?
from luabridge3.
@kunitoki
thank you for the suggestion!
I'm sorry for my delayed response.
I tried your suggestion, changing the file /luabridge3/detail/Stack.h in line 247 and 280 to use the if-directive you mentioned.
including the header file compiles now, but now the linker complains for a test-program for unresolved objects like __stack_chk_fail
:
#include <vcl.h>
#pragma hdrstop
#include "mainform.h"
#include "lua/lua.hpp"
#include "luabridge3/LuaBridge.h"
#include <iostream>
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
lua_State* luaState = luaL_newstate();
}
I'm also still a bit unsure if I use all the required library files. I'm using "liblua.a" "liblua5.4.a" and "liblua5.4-c++.a" in a 64bit project at the moment.
from luabridge3.
Can you also try with this instead of the ifdef ?
template <>
struct Stack<int8_t, std::enable_if_t<! std::is_same_v<char, int8_t>>>
{
from luabridge3.
Can you also try with this instead of the ifdef ?
template <> struct Stack<int8_t, std::enable_if_t<! std::is_same_v<char, int8_t>>> {
With this code, I get an error: stddef.h(250): no type named 'type' in 'std::enable_if<false, void>'; 'enable_if' cannot be used to disable this declaration
That linker issue is a different problem, seems like you are linking a library made with mingw, have you tried compiling lua with borlandc instead ?
Yes, thank you! Sorry, I'm a bit inexperienced with compiling external libraries.
I used a pretty extensive instruction to use WSL to generate the lua library, since I didn't find anything for C++ Builder.
Now I checked and noticed C++ Builder compiles me the lib
and a
file with two clicks in windows. ^^'
And now everything compiles and the test-examples also work.
Is there a reason #if !defined(__BORLANDC__)
should be avoided in favor of enable_if_t
?
Otherwise, I see the problem as solved.
from luabridge3.
I prefer using sfinae to disable declarations where possible instead of macros. But will commit the macro this time
from luabridge3.
Fixed in master
from luabridge3.
Related Issues (20)
- Enhancement Request: Custom error function for `lua_pcall`. HOT 11
- Error C3861 (using with Luau) HOT 3
- Can I cast types inside Lua? HOT 4
- Duplicate symbols on Win32 with default __stdcall HOT 9
- Debug names of C functions for Luau HOT 8
- Extensible class bug with inheritance
- Add support for addStaticIndexMetamethod and addStaticNewIndexMetamethod
- Using LuaBridge3 in a precompiled header on MSVC leads to an internal compiler error HOT 2
- Use of std::shared_ptr on classes without `std::enable_shared_from_this` HOT 1
- Stateful lambdas registered as functions loose state HOT 2
- Compile error with Cfunc property getter/setter HOT 2
- std::vector to 0-based Lua table HOT 5
- MSC Warning C4146 HOT 2
- How to expose C++ data (a vector, in this case) to Lua without making a copy? HOT 2
- Does LuaBridge3 Support Android for SDL2-based Games? HOT 2
- Passing a Lua Table (LuaRef) as an argument to C++ function HOT 1
- How to get the name of a Lua variable? HOT 2
- Comparison Issue Between `uint64_t` in C++ and Numeric Constant in Lua HOT 8
- NAI run lua code in string from cpp
- Explicit inclusion of `#include <stdint.h>`. 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 luabridge3.