Skip to content

er-vin/cpp_to_rust

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpp_to_rust

Linux + OS X Windows

cpp_to_rust allows to use C++ libraries from Rust. The main target of this project is Qt.

Using published Qt crates

This project maintains the following Qt crates (more will hopefully be added in the future):

Crate Version
qt_core
qt_gui
qt_widgets
qt_ui_tools
qt_3d_core
qt_3d_render
qt_3d_input
qt_3d_logic
qt_3d_extras

If you just want to use these crates, add them as dependencies to your Cargo.toml, for example:

[dependencies]
qt_widgets = "0.2"

And add corresponding extern crate directives to the crate root (main.rs or lib.rs):

extern crate qt_widgets;

Each crate re-exports its depenencies, so, for example, you can access qt_core as qt_widgets::qt_core without adding an explicit dependency.

Online documentation of published Qt crates (you may also run cargo doc --open to generate documentation for your crate's dependencies).

Published crates required a certain Qt version (currently 5.8.0) and don't export platform-specific API.

Using the generator

If you want to use another Qt version, access platform-specific Qt APIs or tweak the generator configuration, refer to README of qt_generator for more information.

If you want to generate Rust crates for another C++ library or learn about implementation details, see README of cpp_to_rust_generator.

Repository structure

The project consists of the following Rust crates:

See README.md in each crate for detailed description.

Contributing

Contributions are always welcome! You can contribute in different ways:

  • Suggest a C++ library to adapt;
  • Submit a bug report, a feature request, or an improvement suggestion at the issue tracker;
  • Write a test for cpp_to_rust_generator crate;
  • Write a test or an example for a Qt crate (porting examples from the official Qt documentation is a good option);
  • Pick up an issue with help wanted tag or any other issue you like.

About

Generator of rust_qt crate.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 97.8%
  • C++ 1.1%
  • CMake 0.4%
  • Batchfile 0.3%
  • Shell 0.2%
  • C 0.1%
  • Python 0.1%