Godot 4.1版本 的 godot-cpp4.1 编译失败的问题

我们先来看看导致问题出现的罪魁祸首——classes/rich_text_label.hpp 里面的 push_list()
godot-cpp 4.0

	void push_list(
		int32_t level, 
		RichTextLabel::ListType type,
		bool capitalize
	);

godot-cpp 4.1

	void push_list(
		int32_t level, 
		RichTextLabel::ListType type, 
		bool capitalize, 
		const String &bullet = "•"
	);

可以看到godot-cpp 4.1的 push_list() 相比 godot-cpp 4.0 增加了一个参数,而就是因为这个参数导致编译失败。因为这个 “•” u2022 bullet点号 在GBK编码中并不存在。所以编译时我们要指定编码格式为 utf-8

如果使用 SCons,则需要在合适位置添加以下代码

env.Append(CXXFLAGS='/source-charset:utf-8')

如果使用 CMake,则添加下面代码

add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/source-charset:utf-8>")

另外4.1的.gdextension也有相应的变化:

[configuration]

entry_symbol = "example_library_init"
compatibility_minimum = 4.1

[libraries]

macos.debug = "res://bin/libgdexample.macos.template_debug.framework"
macos.release = "res://bin/libgdexample.macos.template_release.framework"
windows.debug.x86_32 = "res://bin/libgdexample.windows.template_debug.x86_32.dll"
windows.release.x86_32 = "res://bin/libgdexample.windows.template_release.x86_32.dll"
windows.debug.x86_64 = "res://bin/libgdexample.windows.template_debug.x86_64.dll"
windows.release.x86_64 = "res://bin/libgdexample.windows.template_release.x86_64.dll"
linux.debug.x86_64 = "res://bin/libgdexample.linux.template_debug.x86_64.so"
linux.release.x86_64 = "res://bin/libgdexample.linux.template_release.x86_64.so"
linux.debug.arm64 = "res://bin/libgdexample.linux.template_debug.arm64.so"
linux.release.arm64 = "res://bin/libgdexample.linux.template_release.arm64.so"
linux.debug.rv64 = "res://bin/libgdexample.linux.template_debug.rv64.so"
linux.release.rv64 = "res://bin/libgdexample.linux.template_release.rv64.so"
android.debug.x86_64 = "res://bin/libgdexample.android.template_debug.x86_64.so"
android.release.x86_64 = "res://bin/libgdexample.android.template_release.x86_64.so"
android.debug.arm64 = "res://bin/libgdexample.android.template_debug.arm64.so"
android.release.arm64 = "res://bin/libgdexample.android.template_release.arm64.so"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值