Open YXHXianYu opened 9 months ago
archlinux 遇到了同样的头文件问题, 通过这个可以解决
Archlinux在编译Piccolo时,会遇到
uint32_t
等类型不存在的问题,如: #475经过检查,发现是由于JoltPhysics和vulkan memory allocator这两个库分别少引用了cstdint和cstdio的问题,导致在archlinux平台无法正常通过编译。
我分别在两个文件中加入了两行#include命令,添加后,Piccolo均可以在我的Archlinux和Windows平台正常通过编译。
我按你的修改,还是有问题:
11 warnings generated.
[217/286] Building CXX object engine/source/runtime/CMakeFiles/PiccoloRuntime.dir/core/meta/reflection/reflection.cpp.o
FAILED: engine/source/runtime/CMakeFiles/PiccoloRuntime.dir/core/meta/reflection/reflection.cpp.o
/usr/bin/clang++ -DJPH_DEBUG_RENDERER -DJPH_PROFILE_ENABLED -DPICCOLO_VK_LAYER_PATH=/run/media/Piccolo/engine/3rdparty/VulkanSDK/bin/Linux -DSPDLOG_COMPILED_LIB -D_DEBUG -I/run/media/Piccolo/engine/3rdparty/VulkanSDK/include -I/run/media/Piccolo/engine/shader/generated/cpp -I/run/media/Piccolo/engine/source -I/run/media/Piccolo/engine/3rdparty/json11 -I/run/media/Piccolo/engine/3rdparty/vulkanmemoryallocator/include -I/run/media/Piccolo/engine/source/runtime -I/run/media/Piccolo/engine/source/runtime/function/render/include -I/run/media/Piccolo/engine/3rdparty/spdlog/include -I/run/media/Piccolo/engine/3rdparty/tinyobjloader -I/run/media/Piccolo/engine/3rdparty/stb -I/run/media/Piccolo/engine/3rdparty/glfw/include -I/run/media/Piccolo/engine/3rdparty/imgui -I/run/media/Piccolo/engine/3rdparty/JoltPhysics/Build/.. -I/run/media/Piccolo/engine/3rdparty/lua-5.4.4 -isystem /run/media/Piccolo/engine/3rdparty/sol2-3.3.0/include -g -std=gnu++17 -MD -MT engine/source/runtime/CMakeFiles/PiccoloRuntime.dir/core/meta/reflection/reflection.cpp.o -MF engine/source/runtime/CMakeFiles/PiccoloRuntime.dir/core/meta/reflection/reflection.cpp.o.d -o engine/source/runtime/CMakeFiles/PiccoloRuntime.dir/core/meta/reflection/reflection.cpp.o -c /run/media/Piccolo/engine/source/runtime/core/meta/reflection/reflection.cpp
/run/media/Piccolo/engine/source/runtime/core/meta/reflection/reflection.cpp:177:34: error: no member named 'find_if' in namespace 'std'
177 | const auto it = std::find_if(m_fields.begin(), m_fields.end(), [&](const auto& i) {
| ~^
/run/media/Piccolo/engine/source/runtime/core/meta/reflection/reflection.cpp:187:34: error: no member named 'find_if' in namespace 'std'
187 | const auto it = std::find_if(m_methods.begin(), m_methods.end(), [&](const auto& i) {
| ~^
2 errors generated.
[230/286] Building CXX object engine/source/runtime/CMakeFiles/PiccoloRuntime.dir/function/framework/component/lua/lua_component.cpp.o
/run/media/Piccolo/engine/source/runtime/function/framework/component/lua/lua_component.cpp:83:5: warning: non-void function does not return a value in all control paths [-Wreturn-type]
83 | }
| ^
/run/media/Piccolo/engine/source/runtime/function/framework/component/lua/lua_component.cpp:153:61: note: in instantiation of function template specialization 'Piccolo::LuaComponent::get
Archlinux在编译Piccolo时,会遇到
uint32_t
等类型不存在的问题,如: #475经过检查,发现是由于JoltPhysics和vulkan memory allocator这两个库分别少引用了cstdint和cstdio的问题,导致在archlinux平台无法正常通过编译。
我分别在两个文件中加入了两行#include命令,添加后,Piccolo均可以在我的Archlinux和Windows平台正常通过编译。