Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Macos Arm平台parser无法识别std::vector<T>类型 #464

Closed
Justpenz233 opened this issue Nov 2, 2023 · 1 comment
Closed

Macos Arm平台parser无法识别std::vector<T>类型 #464

Justpenz233 opened this issue Nov 2, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@Justpenz233
Copy link

Describe the bug | Bug描述
在Macos M2pro 14.0 (23A344)平台上对Piccolo进行编译,对meta_example.h的生成代码中发现:
static void set_m_int_vector(void* instance, void* field_value){ static_cast<BaseTest*>(instance)->m_int_vector = *static_cast<int*>(field_value);}, 同样涉及到所有使用了std::vector类型的反射field均只会被识别为T.

在对Parser的调试中发现是因为clang_getCursorType所导致的。

Steps to reproduce | 如何复现
Steps to reproduce the behavior:

  1. 使用Macos M系进行编译。

Screenshots/Logs | 截图/日志
engine/source/_generated/reflection/mesh_data.reflection.gen.h:349:123: error: no viable overloaded '=' static void set_vertex_buffer(void* instance, void* field_value){ static_cast<MeshData*>(instance)->vertex_buffer = *static_cast<int*>(field_value);} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Desktop | 桌面环境

  • OS: [macOS]
  • Version [14.0]
  • CPU [M2pro]
  • Compiler [Clang14]
@Justpenz233 Justpenz233 added the bug Something isn't working label Nov 2, 2023
@Justpenz233
Copy link
Author

该Bug是由于Macos系统更新后Header位置发生了改变,目前最新的Macos14.0位置在:${osx_sdk_platform_path_test}/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant