react-native-quick-md5@3.0.3 windows编译问题

By: 王雪
Posted: 2022-02-25

emm...只有win下有这个问题,所以终极解决方案还是换mac.........

报错:

> Task :react-native-quick-md5:generateJsonModelDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-quick-md5:generateJsonModelDebug'.
> K:\eex\pouchdb-sqlite-bare\node_modules\react-native-quick-md5\android\CMakeLists.txt : C/C++ debug|armeabi-v7a : CMake Error at K:\eex\pouchdb-sqlite-bare\node_modules\react-native-quick-md5\android\CMakeLists.txt:16 (add_library):
    Syntax error in cmake code when parsing string

      K:\eex\pouchdb-sqlite-bare\node_modules/react-native/ReactCommon/jsi/jsi/jsi.cpp

    Invalid character escape '\e'.

修复:

cmake_minimum_required(VERSION 3.9.0)

set (PACKAGE_NAME "react-native-quick-md5")
set (CMAKE_VERBOSE_MAKEFILE ON)
set (CMAKE_CXX_STANDARD 11)
string(REPLACE "\\" "/" NORMALIZE_PATH ${NODE_MODULES_DIR})
set (INCLUDE_JSI_CPP "${NORMALIZE_PATH}/react-native/ReactCommon/jsi/jsi/jsi.cpp")

# Specifies a path to native header files.
include_directories(
  ../cpp
  "${NODE_MODULES_DIR}/react-native/React"
  "${NODE_MODULES_DIR}/react-native/React/Base"
  "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi"
)

add_library(quickmd5 # Library name
  SHARED
  "${INCLUDE_JSI_CPP}"
  ../cpp/quick-md5.cpp
  ../cpp/md5.cpp
  cpp-adapter.cpp
)

target_link_libraries(quickmd5)