当前位置: 首页 > news >正文

福田专业网站建设公司微博营销

福田专业网站建设公司,微博营销,榆林公司网站建设,海口疫情一、动态库的编译 使用的编译环境是ubuntu20.04 1、使用vscode配置openharmony sdk交叉编译环境 首先下载openharmony的sdk,如native-linux-x64-4.1.7.5-Release.zip 解压后native目录下就是交叉编译用的sdk 在要编译的源代码目录下新建.vscode目录&#xff0c…

一、动态库的编译

使用的编译环境是ubuntu20.04

1、使用vscode配置openharmony sdk交叉编译环境

首先下载openharmony的sdk,如native-linux-x64-4.1.7.5-Release.zip

解压后native目录下就是交叉编译用的sdk

  1. 在要编译的源代码目录下新建.vscode目录,进入该目录新建settings.json文件文件内容如下,根据自己的sdk目录修改cmake的路径

{

 "cmake.cmakePath":"/home/xxx/native/build-tools/cmake/bin/cmake"

}

2、在vscode中也需要安装cmake插件

3、在插件中配置交叉编译器

打开cmake-tools-kits.json文件:

vim .local/share/CMakeTools/cmake-tools-kits.json

这个文件的作用就是:告诉VSCode当前系统中都有哪些编译器可供使用,一般是CMakeTools插件自动获取到的,但是CMakeTools插件无法自动获取到我们的交叉编译器。

所以我们手动将交叉编译器添加到cmake-tools-kits.json文件中(必须添加到文件末尾),因为我们使用的是CMake,所以只需将toolchain.cmake文件的路径配置进去就可以了:

{

    "name": "arm_corss_compiler",

    "toolchainFile": "/home/fhc/myWorkspace/cmake_project/cmake_cross_complie_base/toolchain.cmake"

}

4、Ctrl+Shift+p打开VSCode的指令面板,然后输入cmake:q,VSCode会根据输入自动提示,然后选择

CMake: Quick Start

5、然后选择我们自己配置的交叉编译器

6、编写cmake文件

cmake_minimum_required(VERSION 3.5.0)
project(TESTLIB VERSION 0.1.0 LANGUAGES C CXX)

set(ROOTDIR ..) #设置变量
set(SRCDIR ${ROOTDIR}/src)  
include_directories(${SRCDIR} ${SRCDIR}/..) #设置头文件搜索路径
aux_source_directory(${SRCDIR}/src CPP_SRC)
aux_source_directory(${SRCDIR}/others CPP_SRC) #将目录下的所有源文件包含变量CPP_SRC
add_library(TESTLIB SHARED ${CPP_SRC}) #设置库名称位TESTLIB 包含的源文件:CPP_SRC

set(LIBRARY_OUTPUT_PATH ${ROOTDIR}/../Lib/linuxLib) #设置库的导出目录

target_link_libraries(TESTLIB PUBLIC ${PROJECT_BINARY_DIR}/../../Lib/linuxLib/libusb_shared.z.so) #设置需要依赖的库

7、点击左下脚的build按钮

二、openharnony应用调用动态库

1、安装 deveco studio 4.1或5.0,5.0目前编译的时候不能只编译32位版本,不知道为什么,如果编译一个需要在cmake中做条件编译和依赖。比如:

if(OHOS_ARCH STREQUAL armeabi-v7a)
add_library(entry SHARED napi_init.cpp)

else()

add_library(entry SHARED napi_init_64.cpp)

endif()

2、修改 build-profile.json5 文件中的products目录,以下是5.0版本的

"products": [{"name": "default","signingConfig": "default","compileSdkVersion": 11,"compatibleSdkVersion": 11,"runtimeOS": "OpenHarmony","buildOption": {"externalNativeOptions": {"abiFilters": ["armeabi-v7a","arm64-v8a"]},"strictMode": {"caseSensitiveCheck": true,}}}
],

3、按官网的教程把so库和头文件放入相应的目录。

4、最后应用打开以后一调用napi可能会闪退,检查日志看是否有依赖的库没有放到目录中,可以使用needed by进行关键字筛选。

5、如果打开应用后界面显示不正常,只有应用图标,检查日志看是否有其他问题。可能需要修改动态库的源码,重新编译动态库。

6、如果涉及到一些硬件操作可能会打不开设备,需要修改设备的操作权限,比如usb设备可以使用下面的指令

chmod -R 777 /dev/bus/usb/

7、添加日志

在cmake文件中添加hilog的依赖库

target_link_libraries(entry PUBLIC libace_napi.z.so  libhilog_ndk.z.so)

在cpp文件中添加头文件

#include "hilog/log.h"

日志函数用法

OH_LOG_Print(LOG_APP,LOG_INFO, LOG_PRINT_DOMAIN,"Init","uvc open fail%{public}d",res);

http://www.dinnco.com/news/17152.html

相关文章:

  • 新开传奇网站发布网中变网络流量分析工具
  • 公司里面有人员增减要去哪个网站做登记seo研究
  • 旅游门票做的最好的是哪个网站百度导航最新版本下载安装
  • 网站不允许上传文件2345系统导航
  • 成都网站建设天府软件园国际军事最新消息今天
  • 做一家购物网站要多少钱河北百度推广客服电话
  • 天津 网站建设百度seo外包
  • 网站诊断从哪里开始aso优化的主要内容
  • 网站地图 百度德芙巧克力软文推广
  • 做网站需要了解网站运营方案
  • 十大垂直电商平台天津seo外包平台
  • java可以做网站后台培训机构查询网
  • 成都建站网上卖产品怎么推广
  • 专业的集团网站建设搜资源的搜索引擎
  • 聚美优品的网站建设vivo应用商店
  • 长沙seo公司靠谱吗seo排名优化教学
  • 网站建设使用什么软件宝安网站建设
  • 深圳华宫建设集团网站河南seo外包
  • 商城网站制作教程成都新闻最新消息
  • 网站备案不成功的原因有哪些百度推广投诉中心
  • 网站开发技术论文深圳网络营销软件
  • 住建部2022年执行的新规范seo优化的方法
  • 合肥网站制作魔贝课凡seo课程好吗
  • 四川大良网站建设百度云网盘资源
  • 怎么做网站登录界面百度快照推广排名
  • 重庆梁平网站建设公司百度网站优化工具
  • 建设网站一定要备案吗河北seo网络优化培训
  • 微企点建站效果付费国外网站建设
  • 门户网站建设申请企业排名优化公司
  • 企业网站建设ppt拉新推广渠道