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.

  1. İstediğiniz kitaplığın kaynak kodunu robot projenize kopyalayın.

  2. Ö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.