通过机器人代码使用外部库
警告
使用外部库可能会对您的机器人代码产生意想不到的行为!除非您知道自己在做什么,否则不建议这样做!
通常,团队可能希望添加外部Java或C ++库,以用于其机器人代码。本文重点介绍将Java库添加到您的Gradle依赖项或C ++团队具有的选项。
Java
备注
任何依赖于本机库(JNI)的外部依赖关系都可能无法正常工作。
Java添加外部依赖项非常简单。您只需添加所需的``存储库’’和``依赖项’’即可。
机器人项目默认情况下在build.gradle文件中没有repository {}块。您将必须自己添加。在“ dependencies {}”块上方,请添加以下内容:
repositories {
mavenCentral()
...
}
可以将mavenCentral()替换为要导入的库使用的任何存储库。现在,您必须添加对库本身的依赖关系。这是通过在“ dependencies {}”块中添加必要的行来完成的。以下示例展示了如何将Apache Commons添加到您的Gradle项目中。
dependencies {
implementation 'org.apache.commons:commons-lang3:3.6'
...
}
现在,您运行一个构建并确保已下载依赖项。在运行构建之前,Intellisense可能无法正常工作!
C++
由于需要为roboRIO进行编译,因此向您的机器人项目中添加C ++依赖项并非易事。您有两种选择。
将所需库的源代码复制到您的机器人项目中。
以`vendordep模板<https://github.com/wpilibsuite/vendor-template>`__为例,并创建一个vendordep。
复制源代码
只需将必要的源代码和/或标题复制到您的机器人项目中。然后,您可以配置任何必要的平台参数,如下所示:
nativeUtils.platformConfigs.named("linuxx86-64").configure {
it.linker.args.add('-lstdc++fs') // links in C++ filesystem library
}
创建一个Vendordep
请按照“ vendordep存储库<https://github.com/wpilibsuite/vendor-template>” __中的说明进行操作。