osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.08k stars 372 forks source link

clone项目最新下来,编译报错。 #1436

Closed kanfRUI closed 2 months ago

kanfRUI commented 2 months ago

摘要 / Summary

clone项目下来,构建运行报错,报错如下

Task :app:configureCMakeDebug[arm64-v8a] C/C++: CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): C/C++: The source directory C/C++: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-charcode C/C++: does not contain a CMakeLists.txt file. C/C++: CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): C/C++: The source directory C/C++: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-lua C/C++: does not contain a CMakeLists.txt file. C/C++: CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): C/C++: The source directory C/C++: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-octagram C/C++: does not contain a CMakeLists.txt file. C/C++: CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): C/C++: The source directory C/C++: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-predict C/C++: does not contain a CMakeLists.txt file. C/C++: CMake Error at cmake/Rime.cmake:31 (target_link_libraries): C/C++: Cannot specify link libraries for target "rime-charcode-objs" which is not C/C++: built by this project. C/C++: Call Stack (most recent call first): C/C++: CMakeLists.txt:63 (include)

Task :app:configureCMakeDebug[arm64-v8a] FAILED Execution failed for task ':app:configureCMakeDebug[arm64-v8a]'. [CXX1429] error when building with cmake using D:\workspace\trime\app\src\main\jni\CMakeLists.txt: -- The C compiler identification is Clang 14.0.7 -- The CXX compiler identification is Clang 14.0.7 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: D:/android/SDK/ndk/25.2.9519653/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: D:/android/SDK/ndk/25.2.9519653/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Downloading Boost 1.85.0 ...... -- Remove older version Boost -- Extracting Boost 1.85.0 ...... -- Boost: Debug build, static libraries, MPI OFF, Python OFF, testing OFF -- Boost: libraries included: algorithm;crc;dll;interprocess;range;regex;scope_exit;signals2;utility;uuid;locale -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found Threads: TRUE
-- Performing Test BOOST_ATOMIC_TARGET_X86 -- Performing Test BOOST_ATOMIC_TARGET_X86 - Failed -- Performing Test BOOST_FILESYSTEM_HAS_INIT_PRIORITY -- Performing Test BOOST_FILESYSTEM_HAS_INIT_PRIORITY - Success -- Performing Test BOOST_FILESYSTEM_HAS_CXX20_ATOMIC_REF -- Performing Test BOOST_FILESYSTEM_HAS_CXX20_ATOMIC_REF - Failed -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BLKSIZE -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BLKSIZE - Success -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIM -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIM - Success -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMENSEC -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMENSEC - Success -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMESPEC -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_MTIMESPEC - Failed -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMENSEC -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMENSEC - Failed -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMESPEC -- Performing Test BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMESPEC - Failed -- Performing Test BOOST_FILESYSTEM_HAS_STATX -- Performing Test BOOST_FILESYSTEM_HAS_STATX - Failed -- Performing Test BOOST_FILESYSTEM_HAS_STATX_SYSCALL -- Performing Test BOOST_FILESYSTEM_HAS_STATX_SYSCALL - Failed -- Performing Test BOOST_FILESYSTEM_HAS_FDOPENDIR_NOFOLLOW -- Performing Test BOOST_FILESYSTEM_HAS_FDOPENDIR_NOFOLLOW - Success -- Performing Test BOOST_FILESYSTEM_HAS_DIRENT_D_TYPE -- Performing Test BOOST_FILESYSTEM_HAS_DIRENT_D_TYPE - Success -- Performing Test BOOST_FILESYSTEM_HAS_POSIX_AT_APIS -- Performing Test BOOST_FILESYSTEM_HAS_POSIX_AT_APIS - Success -- Performing Test BOOST_FILESYSTEM_HAS_FALLOCATE -- Performing Test BOOST_FILESYSTEM_HAS_FALLOCATE - Success -- Boost.Locale: iconv ON, ICU OFF, POSIX OFF, std ON, winapi OFF -- Boost.Thread: threading API is pthread -- Could NOT find Unwind (missing: Unwind_INCLUDE_DIR Unwind_LIBRARY) -- Looking for C++ include dlfcn.h -- Looking for C++ include dlfcn.h - found -- Looking for C++ include elf.h -- Looking for C++ include elf.h - found -- Looking for C++ include glob.h -- Looking for C++ include glob.h - found -- Looking for C++ include link.h -- Looking for C++ include link.h - found -- Looking for C++ include pwd.h -- Looking for C++ include pwd.h - found -- Looking for C++ include sys/exec_elf.h -- Looking for C++ include sys/exec_elf.h - not found -- Looking for C++ include sys/syscall.h -- Looking for C++ include sys/syscall.h - found -- Looking for C++ include sys/time.h -- Looking for C++ include sys/time.h - found -- Looking for C++ include sys/types.h -- Looking for C++ include sys/types.h - found -- Looking for C++ include sys/utsname.h -- Looking for C++ include sys/utsname.h - found -- Looking for C++ include sys/wait.h -- Looking for C++ include sys/wait.h - found -- Looking for C++ include syscall.h -- Looking for C++ include syscall.h - found -- Looking for C++ include syslog.h -- Looking for C++ include syslog.h - found -- Looking for C++ include ucontext.h -- Looking for C++ include ucontext.h - found -- Looking for C++ include unistd.h -- Looking for C++ include unistd.h - found -- Looking for C++ include stdint.h -- Looking for C++ include stdint.h - found -- Looking for C++ include stddef.h -- Looking for C++ include stddef.h - found -- Check size of mode_t -- Check size of mode_t - done -- Check size of ssize_t -- Check size of ssize_t - done -- Looking for dladdr -- Looking for dladdr - found -- Looking for fcntl -- Looking for fcntl - found -- Looking for posix_fadvise -- Looking for posix_fadvise - found -- Looking for pread -- Looking for pread - found -- Looking for pwrite -- Looking for pwrite - found -- Looking for sigaction -- Looking for sigaction - found -- Looking for sigaltstack -- Looking for sigaltstack - found -- Looking for backtrace -- Looking for backtrace - not found -- Looking for backtrace_symbols -- Looking for backtrace_symbols - not found -- Looking for _chsize_s -- Looking for _chsize_s - not found -- Looking for UnDecorateSymbolName -- Looking for UnDecorateSymbolName - not found -- Looking for abi::cxa_demangle -- Looking for abi::__cxa_demangle - found -- Looking for argv -- Looking for argv - not found -- Looking for getprogname -- Looking for getprogname - found -- Looking for program_invocation_short_name -- Looking for program_invocation_short_name - not found -- Performing Test HAVE__PROGNAME -- Performing Test HAVEPROGNAME - Success -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_gregs_REG_PC -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_gregs_REG_PC - Failed -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_gregs_REG_EIP -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_gregs_REG_EIP - Failed -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_gregs_REG_RIP -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_gregs_REG_RIP - Failed -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_sc_ip -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_sc_ip - Failed -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_pc -- Performing Test HAVE_PC_FROM_UCONTEXT_uc_mcontext_pc - Success -- Looking for gmtime_r -- Looking for gmtime_r - found -- Looking for localtime_r -- Looking for localtime_r - found -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Looking for sys/mman.h -- Looking for sys/mman.h - found -- Looking for sys/resource.h -- Looking for sys/resource.h - found -- Looking for sys/uio.h -- Looking for sys/uio.h - found -- Looking for windows.h -- Looking for windows.h - not found -- Looking for zlibVersion in z -- Looking for zlibVersion in z - found -- Looking for lzo1x_1_15_compress in lzo2 -- Looking for lzo1x_1_15_compress in lzo2 - not found -- Looking for LZ4_compress_default in lz4 -- Looking for LZ4_compress_default in lz4 - not found -- Performing Test HAVE_VISUAL_STUDIO_ARCH_AVX -- Performing Test HAVE_VISUAL_STUDIO_ARCH_AVX - Failed -- Performing Test HAVE_VISUAL_STUDIO_ARCH_AVX2 -- Performing Test HAVE_VISUAL_STUDIO_ARCH_AVX2 - Failed -- Performing Test HAVE_CLANG_MAVX -- Performing Test HAVE_CLANG_MAVX - Success -- Performing Test HAVE_CLANG_MBMI2 -- Performing Test HAVE_CLANG_MBMI2 - Success -- Performing Test SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS -- Performing Test SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS - Success -- Performing Test HAVE_BUILTIN_EXPECT -- Performing Test HAVE_BUILTIN_EXPECT - Success -- Performing Test HAVE_BUILTIN_CTZ -- Performing Test HAVE_BUILTIN_CTZ - Success -- Performing Test HAVE_ATTRIBUTE_ALWAYS_INLINE -- Performing Test HAVE_ATTRIBUTE_ALWAYS_INLINE - Success -- Performing Test SNAPPY_HAVE_SSSE3 -- Performing Test SNAPPY_HAVE_SSSE3 - Failed -- Performing Test SNAPPY_HAVE_BMI2 -- Performing Test SNAPPY_HAVE_BMI2 - Failed -- Looking for mmap -- Looking for mmap - found -- Looking for sysconf -- Looking for sysconf - found -- Looking for crc32c_value in crc32c -- Looking for crc32c_value in crc32c - not found -- Looking for malloc in tcmalloc -- Looking for malloc in tcmalloc - not found -- Looking for fdatasync -- Looking for fdatasync - found -- Looking for F_FULLFSYNC -- Looking for F_FULLFSYNC - not found -- Looking for O_CLOEXEC -- Looking for O_CLOEXEC - found -- Performing Test HAVE_CLANG_THREAD_SAFETY -- Performing Test HAVE_CLANG_THREAD_SAFETY - Success -- Performing Test LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS -- Performing Test LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS - Success -- Performing Test HAVE_CXX17_HAS_INCLUDE -- Performing Test HAVE_CXX17_HAS_INCLUDE - Success -- libmarisa found: marisa -- Found PythonInterp: D:/soft/Python312/python.exe (found version "3.11.5") -- Found X11/keysym.h at D:/workspace/trime/app/src/main/jni/librime/include -- Found plugin: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-charcode -- Found plugin: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-lua -- Found plugin: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-octagram -- Found plugin: D:/workspace/trime/app/src/main/jni/librime/plugins/librime-predict -- rime_plugins_libs: -- rime_plugins_modules: -- Configuring incomplete, errors occurred! See also "D:/workspace/trime/app/.cxx/Debug/1z5n4h2v/arm64-v8a/CMakeFiles/CMakeOutput.log". See also "D:/workspace/trime/app/.cxx/Debug/1z5n4h2v/arm64-v8a/CMakeFiles/CMakeError.log".

重现步骤 / Steps to Reproduce

clone项目下来,用 Android Studio Koala | 2024.1.1 Patch 1 运行编译,总是报以上错误,编译不过。 jdk17 Python 3.11.5

预期行为 / Expected Behavior

期望能构建运行项目,编译可运行的apk

日志 / Log

No response

截图 / Screenshot

No response

附加信息 / Additional Context

No response

系统版本 / OS Version

Windows 10

应用版本 / App Version

v3.2.9

构建信息 / Build Information

CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): The source directory

D:/workspace/trime/app/src/main/jni/librime/plugins/librime-charcode

does not contain a CMakeLists.txt file.

CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): The source directory

D:/workspace/trime/app/src/main/jni/librime/plugins/librime-lua

does not contain a CMakeLists.txt file.

CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): The source directory

D:/workspace/trime/app/src/main/jni/librime/plugins/librime-octagram

does not contain a CMakeLists.txt file.

CMake Error at librime/plugins/CMakeLists.txt:47 (add_subdirectory): The source directory

D:/workspace/trime/app/src/main/jni/librime/plugins/librime-predict

does not contain a CMakeLists.txt file.

WhiredPlanck commented 2 months ago

请检查是否有进行这两步:https://github.com/osfans/trime/blob/develop/README_sc.md#windows-%E4%B8%8A%E7%9A%84%E5%89%8D%E6%8F%90%E6%9D%A1%E4%BB%B6

再检查是否将所有子模块都克隆到了:进入各个 librime- 开头的目录看不是空的,如果是空的,请执行一下 git submodule update --init --recursive

详细开发入门步骤请查阅:https://github.com/osfans/trime/blob/develop/README_sc.md#%E5%BC%80%E5%8F%91%E5%85%A5%E9%97%A8 (简体中文版)

如果还是不行,还麻烦先手动将 D:/workspace/trime/app/src/main/jni 目录下所有以 librime-(注意不是 librime) 开头的目录复制到 D:/workspace/trime/app/src/main/jni/librime/plugins 目录下,后续我会调查原因。

kanfRUI commented 2 months ago

可以了。删除项目,重新clone下来,执行一下 git submodule update --init --recursive,执行这个命令还是有两个文件夹是空的,librime-lua,librime-octagram。我直接在GitHub下载这两个文件夹压缩包,解压放在里边就可以了

WhiredPlanck commented 2 months ago

可以了。删除项目,重新clone下来,执行一下 git submodule update --init --recursive,执行这个命令还是有两个文件夹是空的,librime-lua,librime-octagram。我直接在GitHub下载这两个文件夹压缩包,解压放在里边就可以了

可以。解决了就好