sherpa-onnx icon indicating copy to clipboard operation
sherpa-onnx copied to clipboard

编译静态库报错

Open lzn1251 opened this issue 4 weeks ago • 1 comments

ld: error: undefined symbol: std::__ndk1::basic_filebuf<char, std::__ndk1::char_traits >::basic_filebuf()

referenced by fstream:1215 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1215) inference_session.cc.o:(onnxruntime::profiling::Profiler::Profiler()) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced by fstream:1218 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1218) inference_session.cc.o:(std::__ndk1::basic_ofstream<char, std::__ndk1::char_traits >::basic_ofstream(char const*, unsigned int)) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced by fstream:1388 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1388) checker.cc.o:(std::__ndk1::basic_fstream<char, std::__ndk1::char_traits >::basic_fstream(std::__ndk1::basic_string<char, std::__ndk1::char_traits, std::__ndk1::allocator > const&, unsigned int)) in archive ../../1.20.2-static/lib//libonnxruntime.a did you mean: std::__ndk1::basic_filebuf<char, std::__ndk1::char_traits >::basic_filebuf() defined in: CMakeFiles/sherpa-onnx-jni.dir/wave-reader.cc.o

ld: error: undefined symbol: std::__ndk1::basic_filebuf<char, std::__ndk1::char_traits >::~basic_filebuf()

referenced by fstream:1462 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1462) inference_session.cc.o:(onnxruntime::InferenceSession::SaveToOrtFormat(std::__ndk1::__fs::filesystem::path const&) const) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced by fstream:1462 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1462) inference_session.cc.o:(onnxruntime::InferenceSession::SaveToOrtFormat(std::__ndk1::__fs::filesystem::path const&) const) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced by fstream:1222 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1222) inference_session.cc.o:(std::__ndk1::basic_ofstream<char, std::__ndk1::char_traits >::basic_ofstream(char const*, unsigned int)) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced 10 more times did you mean: std::__ndk1::basic_filebuf<char, std::__ndk1::char_traits >::~basic_filebuf() defined in: CMakeFiles/sherpa-onnx-jni.dir/wave-reader.cc.o

ld: error: undefined symbol: std::__ndk1::basic_filebuf<char, std::__ndk1::char_traits >::close()

referenced by fstream:1160 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1160) allocation_planner.cc.o:(onnxruntime::DeviceBasedPartitioner::Initialize()) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced by fstream:1160 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1160) allocation_planner.cc.o:(onnxruntime::DeviceBasedPartitioner::Initialize()) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced by fstream:1160 (/usr/local/lib/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/fstream:1160) allocation_planner.cc.o:(std::__ndk1::basic_ifstream<char, std::__ndk1::char_traits >::close()) in archive ../../1.20.2-static/lib//libonnxruntime.a referenced 3 more times

ld: error: undefined symbol: std::__ndk1::basic_ofstream<char, std::__ndk1::char_traits >::open(std::__ndk1::basic_string<char, std::__ndk1::char_traits, std::__ndk1::allocator > const&, unsigned int)

referenced by profiler.cc:60 (/home/runner/work/onnxruntime-build/onnxruntime-build/onnxruntime/onnxruntime/core/common/profiler.cc:60) profiler.cc.o:(void onnxruntime::profiling::Profiler::StartProfiling(std::__ndk1::basic_string<char, std::__ndk1::char_traits, std::__ndk1::allocator > const&)) in archive ../../1.20.2-static/lib//libonnxruntime.a clang++: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [lib/libsherpa-onnx-jni.so] Error 1 make[1]: *** [sherpa-onnx/jni/CMakeFiles/sherpa-onnx-jni.dir/all] Error 2 make: *** [all] Error 2

请问这是要自己编译libonnxruntime.a吗?官方提供的版本都不行。(动态库是可以正常使用的)

lzn1251 avatar Nov 04 '25 12:11 lzn1251