Robot Koduyla Harici Kitaplıklar Kullanma
Uyarı
Harici kitaplıkları kullanmak, robot kodunuzla istenmeyen davranışlara neden olabilir! Ne yaptığınızın farkında değilseniz tavsiye edilmez!
Genellikle bir ekip, robot kodlarıyla kullanım için harici Java veya C++ kitaplıkları eklemek isteyebilir. Bu makale, Gradle bağımlılıklarınıza Java kitaplıkları eklemeyi veya C++ ekiplerinin sahip olduğu seçenekleri vurgulamaktadır.
Java
Not
Yerel kitaplıklara (JNI) dayanan herhangi bir dış bağımlılık muhtemelen çalışmayacaktır.
Java, harici bağımlılıklar eklemek için oldukça basittir. Sadece gerekli depoları
ve bağımlılıkları
eklemeniz yeterlidir.
Robot projelerinin varsayıldığı gibi build.gradle
dosyasında bir repositories {}
bloğu yoktur. Bunu kendiniz eklemek zorunda kalacaksınız. dependencies {}
bloğunun üstüne lütfen aşağıdakileri ekleyin:
repositories {
mavenCentral()
...
}
mavenCentral()
, içe aktarmak istediğiniz kitaplığın kullandığı herhangi bir depoyla değiştirilebilir. Şimdi bağımlılığı kütüphanenin kendisine eklemelisiniz. Bu, dependencies {}
bloğunuza gerekli satırı ekleyerek yapılır. Aşağıdaki örnek, Gradle projenize Apache Commons eklemeyi göstermektedir.
dependencies {
implementation 'org.apache.commons:commons-lang3:3.6'
...
}
Şimdi bir yapı çalıştırıyorsunuz ve bağımlılıkların indirildiğinden emin oluyorsunuz. Bir yapı çalıştırılana kadar Intellisense düzgün çalışmayabilir!
C ++
Robot projenize C++ bağımlılıkları eklemek, roboRIO için derlemeye ihtiyaç duyması nedeniyle önemsiz değildir. Birkaç seçeneğin var.
İstediğiniz kitaplığın kaynak kodunu robot projenize kopyalayın.
Örnek olarak satıcı dep şablonunu kullanın ve bir satıcı departmanı oluşturun.
Kaynak Kodu Kopyalama
Gerekli kaynağı ve/veya başlıkları robot projenize kopyalamanız yeterlidir. Daha sonra aşağıdaki gibi gerekli platform argümanlarını yapılandırabilirsiniz:
nativeUtils.platformConfigs.named("linuxx86-64").configure {
it.linker.args.add('-lstdc++fs') // links in C++ filesystem library
}
Bir Satıcı Departmanı Oluşturma
Lütfen vendordep deposu içindeki talimatlara uyun.