|
|
@@ -2,19 +2,19 @@
|
|
|
|
|
|
**版本**:V1.0.1
|
|
|
|
|
|
-**最后更新日期**:2021年1月13日15点33分
|
|
|
+**最后更新日期**:2021年1月14日19点07分
|
|
|
|
|
|
## 首要说明
|
|
|
|
|
|
* **不允许改动 **DeviceAdapter/CMakeLists.txt
|
|
|
* **不允许改动 **DeviceAdapter/include 文件夹内容,主要是我行提供的适配器头文件
|
|
|
-* **厂商文件夹**(*比如DevAdapter/keba*)下的任何内容均可以改动,只要你清楚你改动内容会造成哪些影响,但是有些要求声明的语句必须要保留(详见提供的Demo文件夹 cmbsz)
|
|
|
+* **厂商文件夹**(*比如 DevAdapter/keba*)下的任何内容均可以改动,只要你清楚你改动内容会造成哪些影响,但是有些要求声明的语句必须要保留(详见提供的Demo文件夹 cmbsz)
|
|
|
|
|
|
## 特别说明
|
|
|
|
|
|
* `rvc_dev_target_install`语句调用
|
|
|
* 第一次说明的时候要求所有的适配器和提供源码的依赖库的CMakeLists.txt文件的最后必须加上面这条语句
|
|
|
- * 现更正为:**如果生成的时静态库文件(.a类型文件),则无需添加此条语句!!!!**
|
|
|
+ * 现补充:**如果生成的时静态库文件(.a类型文件),则无需添加此条语句!!!!**
|
|
|
|
|
|
## 编译模式
|
|
|
|
|
|
@@ -35,9 +35,9 @@
|
|
|
* bin
|
|
|
* include
|
|
|
|
|
|
-剪切到他处进行管理,其他适配器工程文件夹和deps文件夹保持不变
|
|
|
+剪切到其他地方进行管理,其他适配器工程文件夹和 deps 文件夹保持不变
|
|
|
|
|
|
-所以厂商在引用上诉这些文件目录的路径时,务必请使用我们提供的宏,而不要使用相对路径,见[路径引用请使用我们提供的宏,不要用`.`开头的相对路径,更不要使用绝对路径](#路径引用请使用我们提供的宏,不要用`.`开头的相对路径,更不要使用绝对路径)
|
|
|
+所以厂商在编码引用上诉这些文件目录的路径时,务必请使用我们提供的宏,而不要使用相对路径,见[路径引用请使用我们提供的宏,不要用`.`开头的相对路径,更不要使用绝对路径](#路径引用请使用我们提供的宏,不要用`.`开头的相对路径,更不要使用绝对路径)
|
|
|
|
|
|
|
|
|
|
|
|
@@ -50,7 +50,7 @@ include_directories
|
|
|
link_directories
|
|
|
```
|
|
|
|
|
|
-这种声明是全局生效的,会影响到其他工程目标的编译,请改用:
|
|
|
+因为这种声明是全局生效的,会影响到其他工程目标的编译,请改用:
|
|
|
|
|
|
```
|
|
|
target_include_directories
|
|
|
@@ -83,31 +83,31 @@ DevAdapter/{厂商文件夹}/lib/gcc_aarch64
|
|
|
|
|
|
* **DEVADAPTER_CURRENT_INCLUDES_DIR**
|
|
|
* 实际指向:**`/DevAdapter/include`**
|
|
|
- * 说明:存放我行提供的适配器头文件的目录,已在`rvc_dev_config_library`引入
|
|
|
+ * 说明:存放我行提供的适配器头文件的目录,已在`rvc_dev_config_library`引入,无需再单独引入
|
|
|
* **DEVADAPTER_CURRENT_ASSET_DIR**
|
|
|
* 实际指向:**`/DevAdapter/assets`**
|
|
|
* 说明:存放我行的资源文件
|
|
|
* **DEVADAPTER_CURRENT_LIB_DIR**
|
|
|
- * 实际指向:**`/DevAdapter/lib/gcc_aarch64`**
|
|
|
+ * 实际指向:**`/DevAdapter/lib/gcc_aarch64`**,里头的非**.lib**内容安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
* **DEVADAPTER_CURRENT_BIN_DIR**
|
|
|
- * 实际指向:**`/DevAdapter/bin/gcc_aarch64`**
|
|
|
+ * 实际指向:**`/DevAdapter/bin/gcc_aarch64`**,里头内容安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
* **VENDOR_LOG_LIB_NAME**
|
|
|
- * 说明:我行提供的日志库名称,供适配器工程`target_link_libraries`使用
|
|
|
+ * 说明:我行提供的日志库名称,供适配器工程在`target_link_libraries`中使用
|
|
|
* **VENDOR_CURRENT_DEPS_DIR**
|
|
|
* 实际指向:**`/DevAdapter/{当前厂商目录}/deps`**
|
|
|
* 说明:存放当前厂商存放的有源码的依赖库工程
|
|
|
* **VENDOR_CURRENT_INCLUDE_DIR**
|
|
|
* 实际指向:**`/DevAdapter/{当前厂商目录}/include`**
|
|
|
- * 说明:存放当前厂商的共有头文件,已在`rvc_dev_config_library`引入
|
|
|
+ * 说明:存放当前厂商的公有头文件,已在`rvc_dev_config_library`引入,无需再单独引入
|
|
|
* **VENDOR_CURRENT_ASSET_DIR**
|
|
|
* 实际指向:**`/DevAdapter/{当前厂商目录}/assets`**
|
|
|
- * 说明:存放当前厂商的资源文件,安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
+ * 说明:存放当前厂商的资源文件,里头内容安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
* **VENDOR_CURRENT_LIB_DIR**
|
|
|
* 实际指向:**`/DevAdapter/{当前厂商目录}/lib/gcc_aarch64`**
|
|
|
- * 说明:存放当前厂商的**无源码提供的依赖库**文件,已在`rvc_dev_config_library`引入,安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
+ * 说明:存放当前厂商的**无源码提供的依赖库**文件,已在`rvc_dev_config_library`引入,里头的非**.lib**内容安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
* **VENDOR_CURRENT_BIN_DIR**
|
|
|
* 实际指向:**`/DevAdapter/{当前厂商目录}/bin/gcc_aarch64`**
|
|
|
- * 说明:存放当前厂商提供的执行库文件,Linux下一般不应该有,安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
+ * 说明:存放当前厂商提供的执行库文件,Linux下一般不应该有,里头内容安装时会拷贝到我行应用程序运行目录的dep文件夹下
|
|
|
|
|
|
## 大小写敏感
|
|
|
|
|
|
@@ -165,9 +165,9 @@ link_directories(${VENDOR_CURRENT_LIB_DIR})
|
|
|
|
|
|
### 头文件引用
|
|
|
|
|
|
-上面提到,在招行的编译环境中,会把厂商的头文件目录(如:DevAdapter/cmbsz/include)放置在其他独立开来,所以在**编码时不要使用相对路径!!**。我行提供的CMake宏`rvc_dev_config_library`已经将·**DevAdapter/include**·和`**DevAdapter/{当前厂商名称}/include**`加入到头文件的搜索路径中,所以在编码时,只要所需引用的头文件在这两个文件夹中,直接引用头文件名称即可,无需再单独加相对路径,**否则有可能会出现找不到头文件而报错的风险**。例如:
|
|
|
+上面提到,在招行的编译环境中,会把厂商的头文件目录(如:DevAdapter/cmbsz/include)放置在其他独立开来,所以在**编码时不要使用相对路径!!**。我行提供的CMake宏`rvc_dev_config_library`已经将**`DevAdapter/include`**和**`DevAdapter/{当前厂商名称}/include`** 加入到头文件的搜索路径中,所以在编码时,只要所需引用的头文件在这两个文件夹中,无需再单独加相对路径,直接引用头文件名称即可,**否则有可能会出现找不到头文件或找错头文件而出现报错的风险**。
|
|
|
|
|
|
-在某个厂商适配器实现中
|
|
|
+例如,在某个厂商适配器实现中
|
|
|
|
|
|
```c++
|
|
|
#include "../include/DRV_IDCardReader.h"
|
|
|
@@ -187,7 +187,7 @@ link_directories(${VENDOR_CURRENT_LIB_DIR})
|
|
|
|
|
|
## 请勿将我行公用头文件拷贝到适配器目录内引用
|
|
|
|
|
|
-我行提供的库文件,一般都会放置在**DevAdapter/include**目录中,包括适配器头文件、日志库头文件等,不要将这些头文件拷贝到厂商目录(如:DevAdapter/cmbsz)下的任意目录中(如:DevAdapter/cmbsz/include),避免后续我行在更新公共文件时出现引用错误导致编译报错。
|
|
|
+我行提供的库文件,一般都会放置在**DevAdapter/include**目录中,包括适配器头文件、日志库头文件等,不要将这些头文件拷贝到厂商目录(如:DevAdapter/cmbsz)下的任意目录中然后再加以引用,避免后续我行在更新公共文件时出现引用错误导致编译报错。
|
|
|
|
|
|
## 提交要求
|
|
|
|