Polytonic / Glitter

Dead Simple OpenGL
http://polytonic.github.io/Glitter/
2.46k stars 416 forks source link

assimp build error on ARCH #82

Open kengregson opened 1 year ago

kengregson commented 1 year ago

Hi,

Thanks for creating Glitter as a helping hand to us beginning OpenGL developers! Following instructions on ARCH (EndeavourOS) results in compiler warnings (treated as errors) for assimp (in FBXParser.cpp)

While likely less than ideal, build completes with brute force override of assimp cmake OPTION via: cmake .. -DASSIMP_WARNINGS_AS_ERRORS=OFF

Error output: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<aiVector3t<float> >&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:675:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 675 | const Element& a = GetRequiredElement(scope,"a",&el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:675:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 675 | const Element& a = GetRequiredElement(scope,"a",&el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<aiColor4t<float> >&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:755:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 755 | const Element& a = GetRequiredElement(scope,"a",&el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:755:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 755 | const Element& a = GetRequiredElement(scope,"a",&el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<aiVector2t<float> >&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:834:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 834 | const Element& a = GetRequiredElement(scope,"a",&el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:834:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 834 | const Element& a = GetRequiredElement(scope,"a",&el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<int>&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:900:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 900 | const Element& a = GetRequiredElement(scope,"a",&el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:900:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 900 | const Element& a = GetRequiredElement(scope,"a",&el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<float>&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:965:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 965 | const Element& a = GetRequiredElement(scope,"a",&el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:965:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 965 | const Element& a = GetRequiredElement(scope,"a",&el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<unsigned int>&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:1028:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 1028 | const Element& a = GetRequiredElement(scope,"a",&el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:1028:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 1028 | const Element& a = GetRequiredElement(scope,"a",&el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<long unsigned int>&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:1092:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 1092 | const Element& a = GetRequiredElement(scope,"a",&el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:1092:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 1092 | const Element& a = GetRequiredElement(scope,"a",&el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp: In function ‘void Assimp::FBX::ParseVectorDataArray(std::vector<long int>&, const Element&)’: /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:1153:20: error: possibly dangling reference to a temporary [-Werror=dangling-reference] 1153 | const Element& a = GetRequiredElement(scope, "a", &el); | ^ /home/github.com/Polytonic/Glitter/Glitter/Vendor/assimp/code/AssetLib/FBX/FBXParser.cpp:1153:42: note: the temporary was destroyed at the end of the full expression ‘Assimp::FBX::GetRequiredElement((* & scope), std::__cxx11::basic_string<char>(((const char*)"a"), std::allocator<char>()), (& el))’ 1153 | const Element& a = GetRequiredElement(scope, "a", &el); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors make[2]: *** [Glitter/Vendor/assimp/code/CMakeFiles/assimp.dir/build.make:2064: Glitter/Vendor/assimp/code/CMakeFiles/assimp.dir/AssetLib/FBX/FBXParser.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:531: Glitter/Vendor/assimp/code/CMakeFiles/assimp.dir/all] Error 2 make: *** [Makefile:136: all] Error 2