BastiaanOlij / gdprocmesh

A procedural mesh generator for Godot build as a GDNative plugin
MIT License
120 stars 13 forks source link

Can't compile on OSX #30

Closed 19PHOBOSS98 closed 4 years ago

19PHOBOSS98 commented 4 years ago

I got the cpp submodule to compile but the whole gdprocmesh module couldn't create an osx library... I checked in "gdprocmesh/demo/addons/gdprocmesh/bin" I only found the win64 folder... (I didn't even compile a windows cpp library)

Got this error message when I tried compiling:

19PHOBOSS98:gdprocmesh kim$ scons platform=osx target=release scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... g++ -o src/gdlibrary.os -c -g -O3 -arch x86_64 -fPIC -I. -Isrc -Igodot-cpp/godot_headers -Igodot-cpp/include -Igodot-cpp/include/core -Igodot-cpp/include/gen src/gdlibrary.cpp In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:4: godot-cpp/include/core/Defs.hpp:6:6: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions] enum class Error { ^ godot-cpp/include/core/Defs.hpp:67:48: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <typename T, typename ValueT, typename... Args> ^ godot-cpp/include/core/Defs.hpp:84:64: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <typename KV, typename KeyT, typename ValueT, typename... Args> ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:7: godot-cpp/include/core/Array.hpp:44:17: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:8: godot-cpp/include/core/Basis.hpp:15:11: error: union member 'elements' has a non-trivial default constructor Vector3 elements[3]; ^ godot-cpp/include/core/Vector3.hpp:32:2: note: because type 'godot::Vector3' has a user-provided default constructor Vector3(); ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:8: godot-cpp/include/core/Basis.hpp:16:11: error: union member 'x' has a non-trivial default constructor Vector3 x, y, z; ^ godot-cpp/include/core/Vector3.hpp:32:2: note: because type 'godot::Vector3' has a user-provided default constructor Vector3(); ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:8: godot-cpp/include/core/Basis.hpp:16:14: error: union member 'y' has a non-trivial default constructor Vector3 x, y, z; ^ godot-cpp/include/core/Vector3.hpp:32:2: note: because type 'godot::Vector3' has a user-provided default constructor Vector3(); ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:8: godot-cpp/include/core/Basis.hpp:16:17: error: union member 'z' has a non-trivial default constructor Vector3 x, y, z; ^ godot-cpp/include/core/Vector3.hpp:32:2: note: because type 'godot::Vector3' has a user-provided default constructor Vector3(); ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:10: In file included from godot-cpp/include/core/Dictionary.hpp:4: In file included from godot-cpp/include/core/Variant.hpp:13: In file included from godot-cpp/include/core/PoolArrays.hpp:7: godot-cpp/include/core/GodotGlobal.hpp:30:17: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:10: In file included from godot-cpp/include/core/Dictionary.hpp:4: godot-cpp/include/core/Variant.hpp:131:4: error: delegating constructors are permitted only in C++11 Variant((unsigned int)p_short) {} ^~~ godot-cpp/include/core/Variant.hpp:134:4: error: delegating constructors are permitted only in C++11 Variant((signed int)p_char) {} ^~~ godot-cpp/include/core/Variant.hpp:137:4: error: delegating constructors are permitted only in C++11 Variant((unsigned int)p_char) {} ^~~ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:11: In file included from godot-cpp/include/core/CoreTypes.hpp:10: godot-cpp/include/core/Dictionary.hpp:20:17: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:12: In file included from godot-cpp/include/core/Ref.hpp:5: In file included from godot-cpp/include/gen/Reference.hpp:11: godot-cpp/include/gen/Object.hpp:89:17: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template Variant call(const String method, Args.... ^ godot-cpp/include/gen/Object.hpp:92:17: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template Variant call_deferred(const String meth... ^ godot-cpp/include/gen/Object.hpp:95:17: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template Variant emitsignal(const String signal... ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:12: godot-cpp/include/core/Ref.hpp:15:15: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] T reference = nullptr; ^ In file included from src/gdlibrary.cpp:1: In file included from godot-cpp/include/core/Godot.hpp:21: godot-cpp/include/gen/NativeScript.hpp:44:17: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template Object new(Args... args){ ^ In file included from src/gdlibrary.cpp:1: godot-cpp/include/core/Godot.hpp:147:34: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <class T, class R, class... args> ^ godot-cpp/include/core/Godot.hpp:152:34: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <class T, class R, class... args> ^ godot-cpp/include/core/Godot.hpp:162:14: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template ^ godot-cpp/include/core/Godot.hpp:165:21: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <int N, int... I> ^ godot-cpp/include/core/Godot.hpp:167:15: warning: alias declarations are a C++11 extension [-Wc++11-extensions] using type = typename __construct_sequence<N - 1, N - 1, I...>::type; ^ godot-cpp/include/core/Godot.hpp:170:14: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template ^ godot-cpp/include/core/Godot.hpp:172:15: warning: alias declarations are a C++11 extension [-Wc++11-extensions] using type = Sequence<I...>; ^ godot-cpp/include/core/Godot.hpp:176:34: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <class T, class R, class... As> ^ godot-cpp/include/core/Godot.hpp:181:15: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template ^ godot-cpp/include/core/Godot.hpp:187:25: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <class T, class... As> ^ godot-cpp/include/core/Godot.hpp:191:15: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template ^ godot-cpp/include/core/Godot.hpp:197:34: warning: variadic templates are a C++11 extension [-Wc++11-extensions] template <class T, class R, class... As> ^ godot-cpp/include/core/Godot.hpp:208:81: error: expected '(' for function-style cast or type construction ...obj, arg, typename construct_sequence<sizeof...(As)>::type{});


godot-cpp/include/core/Godot.hpp:213:34: warning: variadic templates are a C++11
      extension [-Wc++11-extensions]
template <class T, class R, class... As>
                                 ^
godot-cpp/include/core/Godot.hpp:215:21: warning: alias declarations are a C++11
      extension [-Wc++11-extensions]
        using MethodType = _WrappedMethod<T, R, As...>;
                           ^
godot-cpp/include/core/Godot.hpp:221:34: warning: variadic templates are a C++11
      extension [-Wc++11-extensions]
template <class T, class R, class... As>
                                 ^
godot-cpp/include/core/Godot.hpp:226:34: warning: variadic templates are a C++11
      extension [-Wc++11-extensions]
template <class T, class R, class... A>
                                 ^
godot-cpp/include/core/Godot.hpp:231:34: warning: variadic templates are a C++11
      extension [-Wc++11-extensions]
template <class T, class R, class... A>
                                 ^
godot-cpp/include/core/Godot.hpp:427:25: warning: variadic templates are a C++11
      extension [-Wc++11-extensions]
template <class T, class... Args>
                        ^
29 warnings and 8 errors generated.
scons: *** [src/gdlibrary.os] Error 1
scons: building terminated because of errors.
19PHOBOSS98:gdprocmesh kim$ 
BastiaanOlij commented 4 years ago

Let me know if that fix works for you.

19PHOBOSS98 commented 4 years ago

Let me know if that fix works for you.

hey it works, thanks :) a billion

19PHOBOSS98 commented 4 years ago

Let me know if that fix works for you.

hey it works, thanks :) a billion

um... don't get me wrong, everything in the demo project worked great but when I tried to make a new separate project (with the addons folder in it and the plugin active) Godot just crashes when I try to load the "gdprocmesh.gdns" :(

it shows me this every time it crashes: Screenshot 2020-01-06 at 7 15 30 PM

BastiaanOlij commented 4 years ago

Let me know if that fix works for you.

hey it works, thanks :) a billion

um... don't get me wrong, everything in the demo project worked great but when I tried to make a new separate project (with the addons folder in it and the plugin active) Godot just crashes when I try to load the "gdprocmesh.gdns" :(

it shows me this every time it crashes: Screenshot 2020-01-06 at 7 15 30 PM

That's just XCode trying to start the debugger.

Owh I've made that mistake tons of times and I really wish there was a good way to protect us from it.

You should not apply the script to the MeshInstance directly!

What you need to do is create a MeshInstance, then create an ArrayMesh as the mesh for that instance, and apply the script to the ArrayMesh!

It's a PITA and I hope to one day find a good solution to prevent this from happening.

19PHOBOSS98 commented 4 years ago

oh, thanks