在提问之前...
- [X] 我理解 Issue 是用于反馈和解决问题的,而非吐槽评论区,且会尽可能提供更多信息帮助问题解决
- [X] 我在提问题之前至少花费了 5 分钟来思考和准备
- [X] 我已经阅读了文档中的常见问题、详细使用说明等,认为这大概率是一个 bug 而非设计如此
- [X] 我已查看最新测试版本的更新内容,并未提及该 bug 已被修复的情况
问题描述
ArchlinuxARM上编译失败。
修改了opencv的头文件,使用的是系统的版本4.6.0。
paddle inference和libppocr都是源代码编译的。
CMakeLists.txt中去掉了protobuf cryptopp gflags glog utf8proc xxhash iomp5 mkldnn mklml_intel等依赖。
v4.2.4可以正常编译通过且可以运行,升级v4.3.0-beta.6就编译不通过了。
编译器:GCC 12.1.0
系统:Arch Linux ARM
指令集:aarch64
版本:v4.3.0-beta.6 (511dd8127d630cf0d916f927811753fc64f4a6e2)
CMake命令: cmake -B build -S src -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_EXTENSIONS=OFF
错误信息:
[ 1%] Building CXX object CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o
/usr/bin/c++ -DASST_DLL_EXPORTS -DMeoAssistant_EXPORTS -I/home/tom/maa/src/include -I/home/tom/maa/src/3rdparty/include -isystem /usr/include/opencv4 -fPIC -Wall -Wextra -Wpedantic -std=c++20 -MD -MT CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o -MF CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o.d -o CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o -c /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.cpp
In file included from /usr/include/c++/12.1.0/bits/char_traits.h:42,
from /usr/include/c++/12.1.0/string:40,
from /home/tom/maa/src/src/MeoAssistant/AbstractResource.h:3,
from /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.h:3,
from /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.cpp:1:
/usr/include/c++/12.1.0/type_traits: In instantiation of ‘struct std::is_constructible<std::pair<const std::__cxx11::basic_string<char>, json::value>, json::value::value_type>’:
/usr/include/c++/12.1.0/type_traits:3199:38: required from ‘constexpr const bool std::is_constructible_v<std::pair<const std::__cxx11::basic_string<char>, json::value>, json::value::value_type>’
/home/tom/maa/src/3rdparty/include/meojson/json.hpp:317:18: required by substitution of ‘template<class MapType, class EnableT> json::object::object(MapType) [with MapType = json::value; EnableT = <丢失>]’
/usr/include/c++/12.1.0/type_traits:1467:45: required by substitution of ‘template<class _From1, class _To1, class> static std::true_type std::__is_convertible_helper<const json::value&, json::value, false>::__test(int) [with _From1 = const json::value&; _To1 = json::value; <模板形参-1-3> = <丢失>]’
/usr/include/c++/12.1.0/type_traits:1476:42: required from ‘struct std::__is_convertible_helper<const json::value&, json::value, false>’
/usr/include/c++/12.1.0/type_traits:1482:12: required from ‘struct std::is_convertible<const json::value&, json::value>’
/usr/include/c++/12.1.0/type_traits:3284:72: required from ‘constexpr const bool std::is_convertible_v<const json::value&, json::value>’
/usr/include/c++/12.1.0/bits/stl_pair.h:260:13: required from ‘static constexpr bool std::pair<_T1, _T2>::_S_convertible() [with _U1 = const std::__cxx11::basic_string<char>&; _U2 = const json::value&; _T1 = const std::__cxx11::basic_string<char>; _T2 = json::value]’
/usr/include/c++/12.1.0/bits/stl_pair.h:268:65: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, json::value>’
/home/tom/maa/src/3rdparty/include/meojson/json.hpp:324:106: required from here
/usr/include/c++/12.1.0/type_traits:980:52: 错误:static assertion failed: template argument must be a complete class or an unbounded array
980 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/type_traits:980:52: 附注:‘std::__is_complete_or_unbounded<__type_identity<pair<const __cxx11::basic_string<char>, json::value> > >((std::__type_identity<std::pair<const std::__cxx11::basic_string<char>, json::value> >(), std::__type_identity<std::pair<const std::__cxx11::basic_string<char>, json::value> >()))’ evaluates to false
In file included from /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.cpp:5:
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp: 在函数‘std::string asst::utils::utf8_to_unicode_escape(const std::string&)’中:
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp:191:23: 错误:static assertion failed: Don't use utf8_to_unicode_escape in non-win32.
191 | static_assert(false, "Don't use utf8_to_unicode_escape in non-win32.");
| ^~~~~
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp:193:5: 警告:在有返回值的函数中未发现 return 语句 [-Wreturn-type]
193 | }
| ^
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp:160:66: 警告:unused parameter ‘utf8_str’ [-Wunused-parameter]
160 | inline std::string utf8_to_unicode_escape(const std::string& utf8_str)
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~
make[2]: *** [CMakeFiles/MeoAssistant.dir/build.make:76:CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o] 错误 1
make[2]: 离开目录“/home/tom/maa/build”
make[1]: *** [CMakeFiles/Makefile2:83:CMakeFiles/MeoAssistant.dir/all] 错误 2
make[1]: 离开目录“/home/tom/maa/build”
make: *** [Makefile:91:all] 错误 2
日志文件
make VERBOSE=1
输出结果
/usr/bin/cmake -S/home/tom/maa/src -B/home/tom/maa/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/tom/maa/build/CMakeFiles /home/tom/maa/build//CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: 进入目录“/home/tom/maa/build”
make -f CMakeFiles/MeoAssistant.dir/build.make CMakeFiles/MeoAssistant.dir/depend
make[2]: 进入目录“/home/tom/maa/build”
cd /home/tom/maa/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tom/maa/src /home/tom/maa/src /home/tom/maa/build /home/tom/maa/build /home/tom/maa/build/CMakeFiles/MeoAssistant.dir/DependInfo.cmake --color=
make[2]: 离开目录“/home/tom/maa/build”
make -f CMakeFiles/MeoAssistant.dir/build.make CMakeFiles/MeoAssistant.dir/build
make[2]: 进入目录“/home/tom/maa/build”
[ 1%] Building CXX object CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o
/usr/bin/c++ -DASST_DLL_EXPORTS -DMeoAssistant_EXPORTS -I/home/tom/maa/src/include -I/home/tom/maa/src/3rdparty/include -isystem /usr/include/opencv4 -fPIC -Wall -Wextra -Wpedantic -std=c++20 -MD -MT CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o -MF CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o.d -o CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o -c /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.cpp
In file included from /usr/include/c++/12.1.0/bits/char_traits.h:42,
from /usr/include/c++/12.1.0/string:40,
from /home/tom/maa/src/src/MeoAssistant/AbstractResource.h:3,
from /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.h:3,
from /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.cpp:1:
/usr/include/c++/12.1.0/type_traits: In instantiation of ‘struct std::is_constructible<std::pair<const std::__cxx11::basic_string<char>, json::value>, json::value::value_type>’:
/usr/include/c++/12.1.0/type_traits:3199:38: required from ‘constexpr const bool std::is_constructible_v<std::pair<const std::__cxx11::basic_string<char>, json::value>, json::value::value_type>’
/home/tom/maa/src/3rdparty/include/meojson/json.hpp:317:18: required by substitution of ‘template<class MapType, class EnableT> json::object::object(MapType) [with MapType = json::value; EnableT = <丢失>]’
/usr/include/c++/12.1.0/type_traits:1467:45: required by substitution of ‘template<class _From1, class _To1, class> static std::true_type std::__is_convertible_helper<const json::value&, json::value, false>::__test(int) [with _From1 = const json::value&; _To1 = json::value; <模板形参-1-3> = <丢失>]’
/usr/include/c++/12.1.0/type_traits:1476:42: required from ‘struct std::__is_convertible_helper<const json::value&, json::value, false>’
/usr/include/c++/12.1.0/type_traits:1482:12: required from ‘struct std::is_convertible<const json::value&, json::value>’
/usr/include/c++/12.1.0/type_traits:3284:72: required from ‘constexpr const bool std::is_convertible_v<const json::value&, json::value>’
/usr/include/c++/12.1.0/bits/stl_pair.h:260:13: required from ‘static constexpr bool std::pair<_T1, _T2>::_S_convertible() [with _U1 = const std::__cxx11::basic_string<char>&; _U2 = const json::value&; _T1 = const std::__cxx11::basic_string<char>; _T2 = json::value]’
/usr/include/c++/12.1.0/bits/stl_pair.h:268:65: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, json::value>’
/home/tom/maa/src/3rdparty/include/meojson/json.hpp:324:106: required from here
/usr/include/c++/12.1.0/type_traits:980:52: 错误:static assertion failed: template argument must be a complete class or an unbounded array
980 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12.1.0/type_traits:980:52: 附注:‘std::__is_complete_or_unbounded<__type_identity<pair<const __cxx11::basic_string<char>, json::value> > >((std::__type_identity<std::pair<const std::__cxx11::basic_string<char>, json::value> >(), std::__type_identity<std::pair<const std::__cxx11::basic_string<char>, json::value> >()))’ evaluates to false
In file included from /home/tom/maa/src/src/MeoAssistant/AbstractConfiger.cpp:5:
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp: 在函数‘std::string asst::utils::utf8_to_unicode_escape(const std::string&)’中:
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp:191:23: 错误:static assertion failed: Don't use utf8_to_unicode_escape in non-win32.
191 | static_assert(false, "Don't use utf8_to_unicode_escape in non-win32.");
| ^~~~~
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp:193:5: 警告:在有返回值的函数中未发现 return 语句 [-Wreturn-type]
193 | }
| ^
/home/tom/maa/src/src/MeoAssistant/AsstUtils.hpp:160:66: 警告:unused parameter ‘utf8_str’ [-Wunused-parameter]
160 | inline std::string utf8_to_unicode_escape(const std::string& utf8_str)
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~
make[2]: *** [CMakeFiles/MeoAssistant.dir/build.make:76:CMakeFiles/MeoAssistant.dir/src/MeoAssistant/AbstractConfiger.cpp.o] 错误 1
make[2]: 离开目录“/home/tom/maa/build”
make[1]: *** [CMakeFiles/Makefile2:83:CMakeFiles/MeoAssistant.dir/all] 错误 2
make[1]: 离开目录“/home/tom/maa/build”
make: *** [Makefile:91:all] 错误 2
截图
No response
还有别的吗?
No response
bug fixed module: core