移植编译一直过不了,可能是参考的教程有点老:https://www.cnblogs.com/openharmony/p/16612996.html#!comments
按照教程,我直接把第三方库opencv加到了third_party目录下,Seetaface2同理,但是不知道是不是因为他是3.2beta版本的教程,做移植的时候bundle.json文件也是没有的,只有单纯的BUILD.gn文件。而且里面默认的part_name居然都是SeetafaceApi,一看就是为了这个教程专门写的。其他的报错这个教程也是一大堆,东西都太老了,感觉不是很新手友好,而且在NAPI封装的时候写的好多东西都是偏简略的,需要自己补很多。其他bug修完之后留了opencv和Seetaface2的依赖问题,最后编译报错是这样的
[OHOS INFO] ^---------
[OHOS INFO] The variable "device_company" was set as a build argument
[OHOS INFO] but never appeared in a declare_args() block in any buildfile.
[OHOS INFO]
[OHOS INFO] To view all possible args, run "gn args --list <out_dir>"
[OHOS INFO]
[OHOS INFO] The build continued as if that argument was unspecified.
[OHOS INFO]
[OHOS INFO] Done. Made 65158 targets from 9469 files in 221188ms
[OHOS INFO] Excuting ninja command: /home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/prebuilts/build-tools/linux-x86/bin/ninja -w dupbuild=warn -C /home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/out/rk3568 images
[OHOS INFO] [1/24161] STAMP obj/third_party/openssl/openssl_build_all_generated.stamp
[OHOS INFO] [2/24161] STAMP clang_x64/obj/third_party/openssl/openssl_build_all_generated.stamp
[OHOS INFO] [3/24161] ACTION //third_party/e2fsprogs:libext2_com_err__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [4/24161] ACTION //third_party/e2fsprogs:libext2_blkid__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [5/24161] ACTION //third_party/e2fsprogs:libext2_e2p__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [6/24161] ACTION //third_party/e2fsprogs:libext2_uuid__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [7/24161] ACTION //third_party/e2fsprogs:libext2fs__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [8/24161] STAMP clang_x64/obj/third_party/e2fsprogs/libext2_com_err__check.stamp
[OHOS INFO] [9/24161] STAMP clang_x64/obj/third_party/e2fsprogs/libext2_blkid__check.stamp
[OHOS INFO] [10/24161] ACTION //third_party/e2fsprogs:libext2_misc__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [11/24161] STAMP clang_x64/obj/third_party/e2fsprogs/libext2_com_err.inputdeps.stamp
[OHOS INFO] [12/24161] ACTION //third_party/e2fsprogs:e2fsck__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [13/24161] STAMP clang_x64/obj/third_party/e2fsprogs/libext2_e2p__check.stamp
[OHOS INFO] [14/24161] ACTION //third_party/e2fsprogs:libext2_quota__check(//build/toolchain/linux:clang_x64)
[OHOS INFO] [15/24161] STAMP clang_x64/obj/third_party/e2fsprogs/libext2_misc__check.stamp
[OHOS INFO] [16/24161] STAMP clang_x64/obj/third_party/e2fsprogs/e2fsck__check.stamp
[OHOS INFO] [17/24161] ACTION //SeetafaceApp/SeetafaceApi:SeetafaceApi__check(//build/toolchain/ohos:ohos_clang_arm)
[OHOS INFO] [18/24161] STAMP clang_x64/obj/third_party/e2fsprogs/libext2_e2p.inputdeps.stamp
[OHOS INFO] [19/24161] STAMP clang_x64/obj/third_party/e2fsprogs/libext2_quota__check.stamp[OHOS INFO] [20/24161] ACTION //applications/standard/calendardata/calendarmanager:calendarmanager__notice(//build/toolchain/ohos:ohos_clang_arm)
[OHOS INFO] [21/24161] ACTION //applications/standard/calendardata/calendarmanager:calendarmanager__check(//build/toolchain/ohos:ohos_clang_arm)
[OHOS INFO] [22/24161] ACTION //applications/standard/contacts_data/contacts:contact__check(//build/toolchain/ohos:ohos_clang_arm)
[OHOS INFO] [23/24161] ACTION //applications/standard/contacts_data:contactsdataability__check(//build/toolchain/ohos:ohos_clang_arm)
[OHOS INFO] [24/24161] ACTION //applications/standard/settings/napi/settings:settings__check(//build/toolchain/ohos:ohos_clang_arm)
[OHOS INFO] [25/24161] ACTION //applications/standard/permission_manager/permissionmanager:permission_manager__notice(//build/toolchain/ohos:ohos_clang_arm)
[OHOS INFO] [26/24161] ACTION //applications/standard/contacts_data/contacts:contact__notice(//build/toolchain/ohos:ohos_clang_arm)
[OHOS ERROR] [17/24161] ACTION //SeetafaceApp/SeetafaceApi:SeetafaceApi__check(//build/toolchain/ohos:ohos_clang_arm)
[OHOS ERROR] FAILED: obj/SeetafaceApp/SeetafaceApi/SeetafaceApi__check.txt
[OHOS ERROR] /usr/bin/env ../../build/templates/common/check_build_target.py --part-name SeetafaceApi --subsystem-name SeetafaceApp --target-path //SeetafaceApp/SeetafaceApi:SeetafaceApi --depfile gen/SeetafaceApp/SeetafaceApi/SeetafaceApi__check.d --output obj/SeetafaceApp/SeetafaceApi/SeetafaceApi__check.txt --compile-standard-allow-file ../preloader/rk3568/compile_standard_whitelist.json --deps //third_party/opencv:opencv //third_party/SeetaFace2:SeetaFace2 --external-deps napi:ace_napi
[OHOS ERROR] Traceback (most recent call last):
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/out/rk3568/../../build/templates/common/check_build_target.py", line 71, in <module>
[OHOS ERROR] sys.exit(main())
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/out/rk3568/../../build/templates/common/check_build_target.py", line 54, in main
[OHOS ERROR] _depfile = check_deps_handler.check(args)
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/templates/common/check_deps_handler.py", line 175, in check
[OHOS ERROR] check_part_deps(args, part_pattern, path_parts_info,compile_standard_allow_info, depfiles)
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/templates/common/check_deps_handler.py", line 136, in check_part_deps
[OHOS ERROR] check_third_party_deps(args, dep_part, parts_deps_info, tips_info, third_deps_allow_list)
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/templates/common/check_deps_handler.py", line 44, in check_third_party_deps
[OHOS ERROR] raise Exception(_warning_info)
[OHOS ERROR] Exception: //SeetafaceApp/SeetafaceApi:SeetafaceApi depend part //third_party/opencv:opencv, need set part deps opencv info to /home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/SeetafaceApp/SeetafaceApi/bundle.json.
[OHOS ERROR] Traceback (most recent call last):
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/containers/status.py", line 47, in wrapper
[OHOS ERROR] return func(*args, **kwargs)
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/modules/ohos_build_module.py", line 67, in run
[OHOS ERROR] raise exception
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/modules/ohos_build_module.py", line 65, in run
[OHOS ERROR] super().run()
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/modules/interface/build_module_interface.py", line 72, in run
[OHOS ERROR] raise exception
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/modules/interface/build_module_interface.py", line 70, in run
[OHOS ERROR] self._target_compilation()
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/modules/ohos_build_module.py", line 103, in _target_compilation
[OHOS ERROR] self.target_compiler.run()
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/services/ninja.py", line 38, in run
[OHOS ERROR] self._execute_ninja_cmd()
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/services/ninja.py", line 69, in _execute_ninja_cmd
[OHOS ERROR] SystemUtil.exec_command(
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/util/system_util.py", line 64, in exec_command
[OHOS ERROR] LogUtil.get_failed_log(log_path)
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/util/log_util.py", line 193, in get_failed_log
[OHOS ERROR] LogUtil.get_compiler_failed_log(log_path)
[OHOS ERROR] File "/home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/build/hb/util/log_util.py", line 180, in get_compiler_failed_log
[OHOS ERROR] raise OHOSException(
[OHOS ERROR] exceptions.ohos_exception.OHOSException: COMPILE Failed! Please check error in /home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/out/rk3568/error.log, and for more build information in /home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/out/rk3568/build.log
[OHOS ERROR]
[OHOS ERROR] Code: 4000
[OHOS ERROR]
[OHOS ERROR] Reason: COMPILE Failed! Please check error in /home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/out/rk3568/error.log, and for more build information in /home/hzk/Documents/OH4.1/OpenHarmony-v4.1-Release/OpenHarmony/out/rk3568/build.log
[OHOS ERROR]
[OHOS ERROR] Error Type: Ninja build error
[OHOS ERROR]
[OHOS ERROR] Description: An unknown error occurred while executing 'ninja -C'.
[OHOS ERROR]
[OHOS ERROR] Solution: no solution
[OHOS ERROR]
=====build error=====
有无大佬来解释一下是为什么?是一定要自己手写一个bundle.json是吗?因为third_party的其他包都是有的。