hugoam / toy

the thin c++ game engine
https://toyengine.io
GNU General Public License v3.0
1.56k stars 102 forks source link

linux build fails #14

Open pgruenbacher opened 5 years ago

pgruenbacher commented 5 years ago
Shell.cpp
In file included from ../../../mud/src/gfx-edit/Api.h:5,
                 from ../../../mud/src/mud/mud.h:25,
                 from ../../../src/toy/toy.h:3,
                 from ../../../src/shell/Shell.cpp:4:
../../../mud/src/gfx-edit/Types.h:44:46: warning: type attributes ignored after type is already defined [-Wattributes]
  export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::ViewerController*>>;
                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../mud/src/gfx-edit/Types.h:44:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::ViewerController*> >’ [-fpermissive]
../../../mud/src/gfx-edit/Types.h:45:46: warning: type attributes ignored after type is already defined [-Wattributes]
  export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::SpaceSheet*>>;
IuryBorges1993 commented 5 years ago

Problem

``./../../mud/src/gfx-edit/Types.h:45:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::ViewerController> >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:46:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::SpaceSheet>>; ^~~~~~~~ ../../../mud/src/gfx-edit/Types.h:46:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::SpaceSheet> >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:47:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::Viewer>>; ^~~~~~~~ ../../../mud/src/gfx-edit/Types.h:47:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::Viewer> >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:48:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::SceneViewer>>; ^~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:48:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::SceneViewer> >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:49:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::FreeOrbitController>>; ^~~~~~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:49:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::FreeOrbitController> >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:50:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::OrbitController>>; ^~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:50:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::OrbitController*> >’ [-fpermissive] toy.make:884: recipe for target '../../linux64_gcc/obj/x64/Debug/toy/src/shell/Shell.o' failed make[1]: [../../linux64_gcc/obj/x64/Debug/toy/src/shell/Shell.o] Error 1 Makefile:104: recipe for target 'toy' failed make: [toy] Error 2

pgruenbacher commented 5 years ago

yea ok that's same problem as mine. I tried with gcc-8 and gcc-7.

IuryBorges1993 commented 5 years ago

just wait answer now, I've tried everything

hugoam commented 5 years ago

The build has been generally broken for a few days due to a refactor, I'll fix it and get back to you

pyramid3d commented 3 years ago

I do get a linking error and dunno how to fix it:

==== Building 00_cube (debug64) ====
Linking 00_cube
/usr/bin/ld: ../../linux64_gcc/bin/libglsl-optimizer_d.a(glcpp-parse.o):/data/transfer/toy/build/projects/gmake-linux/y.tab.c:1420: multiple definition of `yydebug'; ../../linux64_gcc/bin/libglslang_d.a(glslang_tab.o):/data/transfer/toy/build/projects/gmake-linux/MachineIndependent/glslang_tab.cpp:3645: first defined here
/usr/bin/ld: ../../linux64_gcc/bin/libglsl-optimizer_d.a(pp.o): in function `glcpp_preprocess':
/data/transfer/toy/build/projects/gmake-linux/../../../two/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/glcpp/pp.c:227: undefined reference to `glcpp_parser_parse'
/usr/bin/ld: ../../linux64_gcc/bin/libglsl-optimizer_d.a(glcpp-parse.o): in function `yyparse':
/data/transfer/toy/build/projects/gmake-linux/y.tab.c:1952: undefined reference to `yylex'
collect2: error: ld returned 1 exit status