building luabind for gcc 4.8.1

Started by
4 comments, last by AlanSmithee 10 years, 2 months ago

Hi.

I hope this is the right forum for this.

I am having some major problems getting luabind to even compile with mingw.

I have searched and followed every tutorial / stackoverflow thread / other documentation available and it doesn't help.

Steps taken:

1. Downloaded boost and build bjam with cmd "bootstrap.bat mingw" (tried versions 1.5.5, 1.5.4 and 1.3.4 same results)

2. Downloaded lua precompiled binaries (version 4.1.0 since that is supposidly the only one compatible with luabind)

3. Added environment variables BOOST_ROOT and LUA_PATH to their respective value

4. Added bjam path to environment variables

5. Downloaded luabind (tried all versions since 2006) and ran this in cmd "bjam stage toolset=gcc"

Output:


"g++"  -ftemplate-depth-128 -O0 -fno-inline -Wall -g  -DLUABIND_BUILDING  -I
"." -I"C:\boost_1_54_0" -I"C:\mingw_dev_lib\lua41\include" -c -o "bin\gcc-mingw-
4.7.1\debug\src\overload_rep.o" "src\overload_rep.cpp"
 
...failed gcc.compile.c++ bin\gcc-mingw-4.7.1\debug\src\overload_rep.o...
gcc.compile.c++ bin\gcc-mingw-4.7.1\debug\src\stack_content_by_name.o
In file included from ./luabind/wrapper_base.hpp:31:0,
                 from ./luabind/back_reference.hpp:27,
                 from ./luabind/class.hpp:97,
                 from ./luabind/luabind.hpp:28,
                 from src\stack_content_by_name.cpp:25:
./luabind/detail/call_member.hpp:318:1: error: missing binary operator before to
ken "("
In file included from ./luabind/back_reference.hpp:27:0,
                 from ./luabind/class.hpp:97,
                 from ./luabind/luabind.hpp:28,
                 from src\stack_content_by_name.cpp:25:
./luabind/wrapper_base.hpp:90:1: error: missing binary operator before token "("
 
In file included from ./luabind/detail/constructor.hpp:39:0,
                 from ./luabind/class.hpp:98,
                 from ./luabind/luabind.hpp:28,
                 from src\stack_content_by_name.cpp:25:
./luabind/wrapper_base.hpp:90:1: error: missing binary operator before token "("
 
In file included from ./luabind/detail/constructor.hpp:41:0,
                 from ./luabind/class.hpp:98,
                 from ./luabind/luabind.hpp:28,
                 from src\stack_content_by_name.cpp:25:
./luabind/detail/signature_match.hpp:151:1: error: missing binary operator befor
e token "("
./luabind/detail/signature_match.hpp:227:1: error: missing binary operator befor
e token "("
In file included from ./luabind/detail/constructor.hpp:42:0,
                 from ./luabind/class.hpp:98,
                 from ./luabind/luabind.hpp:28,
                 from src\stack_content_by_name.cpp:25:
./luabind/detail/call_member.hpp:318:1: error: missing binary operator before to
ken "("
In file included from ./luabind/detail/constructor.hpp:43:0,
                 from ./luabind/class.hpp:98,
                 from ./luabind/luabind.hpp:28,
                 from src\stack_content_by_name.cpp:25:
./luabind/wrapper_base.hpp:90:1: error: missing binary operator before token "("

And it goes on and on with similar messages from different files...

If i run without toolset=gcc it compiles just fine with mcvs.. the .lib and .bin files are there, just like they should be..

I have looked at :

http://stackoverflow.com/questions/9631762/error-missing-binary-operator-before-token

and

https://svn.boost.org/trac/boost/ticket/6631

which seems to be related, but it doesn't help my situation.

Someone please help smile.png

Thanks in advance / AS

Advertisement

This has been resolved... using angelscript instead ^_^

Got it working in no time.. with addons and stuff too.. after spending more than two days trying to compile and include lua, luabind, v8, spidermonkey and more....

I love to code.. i hate everything else around it, setting up environments, compiling stuff that never works arghhh!! *blowing off steam*

Thanks anyway =)

Luabind is basically obsolete. With some searching you can find personal repos maintained by individual users (often with their own "fixes") but the official is essentially dead and, given its reliance on Boost (and the accompanying relatively complex code that Boost uses) it's not really a surprise to me that it's starting to rot.

I've never seen that error before.

Ah ok, maybe it was a good thing it didn't work out then ;)

I think I got that error because I was using the wrong boost version, or that there were some errors when building boost.

I got past that later though, and actually managed to compile everything, but when trying to include luabind in my project it was complaining about missing references and all other sorts of things. And that was when I gave up on luabind :)

Good thing I didn't have to introduce boost in my project too.. there's no need for it now with C++11 (nor has there been for a while... for me anyways)

Ah ok, maybe it was a good thing it didn't work out then ;)

I think I got that error because I was using the wrong boost version, or that there were some errors when building boost.

I got past that later though, and actually managed to compile everything, but when trying to include luabind in my project it was complaining about missing references and all other sorts of things. And that was when I gave up on luabind smile.png

Good thing I didn't have to introduce boost in my project too.. there's no need for it now with C++11 (nor has there been for a while... for me anyways)

There's really nothing wrong with boost. It's just that it's 1) complex and 2) frequently changing to reflect the current state of the language and the usage patterns of the higher level users that drive it. But Boost sometimes contributes to the C++ standard, and even aside from that it is a fairly useful piece of software, so it doesn't hurt to try to become familiar with it.

Yeah, don't get me wrong, I have nothing against boost!

I used to use it before, for smart pointers, RNG's etc, and I know that a lot of that is now a part of the C++ standard, which is great!

But since I personally have no other use for boost than for the parts that are now already available using C++11, I just didn't see the point of adding another dependency to the project when I didn't have too, that's all. :)

This topic is closed to new replies.

Advertisement