Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pranayspeed/g2o-rust-bindings
https://github.com/pranayspeed/g2o-rust-bindings
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/pranayspeed/g2o-rust-bindings
- Owner: pranayspeed
- Created: 2022-10-19T15:10:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-10-19T15:27:26.000Z (over 2 years ago)
- Last Synced: 2024-09-24T16:09:23.768Z (5 months ago)
- Language: C++
- Size: 174 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-rust-list - pranayspeed/g2o-rust-bindings - rust-bindings?style=social"/> : g2o-rust-bindings. (Scientific Computation)
- awesome-rust-list - pranayspeed/g2o-rust-bindings - rust-bindings?style=social"/> : g2o-rust-bindings. (Scientific Computation)
README
# g2o-bindings
## Using
To compile:
``cargo build``To run examples:
``cargo run --example pose_optimization``## Making changes
- `g2o/` has the g2o code, including:
- `g2o/CMakeLists.txt` -- used to compile the g2o library. You can compile g2o on its own with `mkdir build; cd build; cmake ..; make`. The rust crate uses the CMakeLists file to build the library as part of the rust crate compilation and bindings generation.
- `g2o/rust/rust_helper.cc` and `g2o/rust/rust_helper.h` -- declare the C++ targets that Rust should have bindings to. If making a change here, need to also change the corresponding functions in `src/lib.rs`.
- `src/lib.rs` -- the Rust code that declares the C++ targets for which there are bindings. Should match `g2o/rust/rust_helper.cc` and `g2o/rust/rust_helper.h`.
- `build.rs` -- the compilation instructions to compile g2o, generate bindings, and link. Used automatically by cargo when you run `cargo build`.
- `examples/` has examples for how to use the g2orust crate.