C++ build errors
Community Forums/Monkey2 Talk/C++ build errors
| ||
| From MonkeyX topic: http://www.monkey-x.com/Community/posts.php?topic=10515 MX2 does not catch it currently, and I get C++ build errors on Mac OS X: Translating...
Compiling....
Build error: System command 'g++ -std=c++11 -g -std=c++11 [...] failed.
[...] new_new.cpp:2:
In file included from [...]/new_new.h:9:
[...]/monkey_types.h:12:1: warning: null character ignored [-Wnull-character]
^
In file included from [...]/new_new.cpp:2:
[...]/new_new.h:38:1: warning: null character ignored [-Wnull-character]
^
[...]/new.buildv003/build_cache/desktop_debug_macos/new_new.cpp:51:1: warning: null character ignored [-Wnull-character]
^
In file included from [...]/new_new.cpp:2:
In file included from [...]/new_new.h:5:
In file included from [...]/monkey2/modules/monkey/native/bbmonkey.h:10:
In file included from [...]/monkey2/modules/monkey/native/bbassert.h:5:
[...]/monkey2/modules/monkey/native/bbobject.h:63:11: error: no matching constructor for initialization of 't_default_EntityA'
T *p=new T( a... );Test codes: Class Entity Field name:String = "entity" Method New() End Method New( name:String ) Self.name = name End End Class EntityA Extends Entity End Function Main() Local a := New EntityA Local b := New EntityA( "Entity Name" ) Print a.name Print b.name End Class Entity Field name:String Method New( name:String = "entity" ) Self.name = name End End Class EntityA Extends Entity End Function Main() Local a := New EntityA Local b := New EntityA( "Entity Name" ) Print a.name Print b.name End |
| ||
Under Linux with g++ 4.8.4 I getIn file included from /home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.cpp:2:0:
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:39:1: warning: null character(s) ignored [enabled by default]
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.cpp:37:1: warning: null character(s) ignored [enabled by default]
In file included from /home/jason/applications/monkey2/modules/monkey/native/bbassert.h:5:0,
from /home/jason/applications/monkey2/modules/monkey/native/bbmonkey.h:10,
from /home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:5,
from /home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.cpp:2:
/home/jason/applications/monkey2/modules/monkey/native/bbobject.h: In instantiation of T* bbGCNew(A ...) [with T = t_default_EntityA; A = {bbString}]:
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.cpp:20:51: required from here
/home/jason/applications/monkey2/modules/monkey/native/bbobject.h:63:19: error: no matching function for call to t_default_EntityA::t_default_EntityA(bbString&)
T *p=new T( a... );
^
/home/jason/applications/monkey2/modules/monkey/native/bbobject.h:63:19: note: candidates are:
In file included from /home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.cpp:2:0:
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:34:3: note: t_default_EntityA::t_default_EntityA()
t_default_EntityA(){
^
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:34:3: note: candidate expects 0 arguments, 1 provided
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:30:8: note: t_default_EntityA::t_default_EntityA(const t_default_EntityA&)
struct t_default_EntityA : public t_default_Entity{
^
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:30:8: note: no known conversion for argument 1 from bbString to const t_default_EntityA&
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:30:8: note: t_default_EntityA::t_default_EntityA(t_default_EntityA&&)
/home/jason/applications/monkey2/tests/mytest/d1.buildv003/build_cache/desktop_release_linux/d1_d1.h:30:8: note: no known conversion for argument 1 from bbString to t_default_EntityA&&
cc1plus: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default]I will see what it does with a new GCC version later. |
| ||
| > I will see what it does with a new GCC version later. You will see almost the same errors, because the problem is MX2 inheritance of constructors, and emiting correct code for it. |