godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.34k stars 21.06k forks source link

Problem in building for android with some modules disabled #39908

Closed vignesh-j-shetty closed 3 years ago

vignesh-j-shetty commented 4 years ago

Godot 3.2.2 Windows10

I get error while building for android with this command scons p=android target=release android_arch=armv7 tools=no module_bmp_enabled=no module_bullet_enabled=no module_csg_enabled=no module_dds_enabled=no module_enet_enabled=no module_etc_enabled=no module_gdnative_enabled=no module_gridmap_enabled=no module_hdr_enabled=no module_mbedtls_enabled=no module_mobile_vr_enabled=no module_opus_enabled=no module_pvr_enabled=no module_recast_enabled=no module_regex_enabled=no module_squish_enabled=no module_tga_enabled=no module_thekla_unwrap_enabled=no module_theora_enabled=no module_tinyexr_enabled=no module_vorbis_enabled=no module_webm_enabled=no module_websocket_enabled=no

I get error as

b"scene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::RegEx()'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::compile(String const&)'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::RegEx()'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::compile(String const&)'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::RegEx()'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::compile(String const&)'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::RegEx()'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::compile(String const&)'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::search(String const&, int, int) const'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::search(String const&, int, int) const'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::search(String const&, int, int) const'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::search(String const&, int, int) const'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::~RegEx()'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::~RegEx()'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::~RegEx()'\r\nscene\\libscene.android.opt.armv7.neon.a(rich_text_label.android.opt.armv7.neon.o):rich_text_label.cpp:function RichTextLabel::parse_expressions_for_values(Vector<String>): error: undefined reference to 'RegEx::~RegEx()'\r\nclang++: error: linker command failed with exit code 1 (use -v to see invocation)\r\n"=====
scons: *** [bin\libgodot.android.opt.armv7.neon.so] Error 1
scons: building terminated because of errors.
akien-mga commented 3 years ago

This has been fixed in 3.4, RichTextLabel now disables the features that require RegEx if the regex module is disabled.