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

fix: build error in archlinux #480

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

YXHXianYu
Copy link

Archlinux在编译Piccolo时,会遇到 uint32_t 等类型不存在的问题,如: #475

经过检查,发现是由于JoltPhysics和vulkan memory allocator这两个库分别少引用了cstdint和cstdio的问题,导致在archlinux平台无法正常通过编译。

我分别在两个文件中加入了两行#include命令,添加后,Piccolo均可以在我的Archlinux和Windows平台正常通过编译。

@1evergreen
Copy link

archlinux 遇到了同样的头文件问题, 通过这个可以解决

@DantesLin
Copy link

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' requested here
153 | m_lua_state.set_function("get_bool", &LuaComponent::get);
| ^
1 warning generated.
[232/286] Building CXX object engine/source/runtime/CMakeFiles/PiccoloRuntime.dir/core/meta/reflection/reflection_register.cpp.o
ninja: build stopped: subcommand failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants