tauri/examples/tauri-dynamic-lib
github-actions[bot] 45a5cd569b
Apply Version Updates From Current Changes (#5295)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-11-08 09:24:09 -03:00
..
src-app1 feat: bump MSRV to 1.59 (#5296) 2022-09-28 14:33:35 -03:00
src-tauri Apply Version Updates From Current Changes (#5295) 2022-11-08 09:24:09 -03:00
README.md docs(examples): add missing Readme and clarify existing (#3327) 2022-02-04 17:56:57 -03:00

Readme

This is an example of compiling tauri as a dynamic shared library and running it from another app.

  • src-tauri is an example of a library containing code to launch a tauri webview window.
  • src-app1 is a small example of calling tauri from a dynamic shared library through FFI.

Note that bundling of resources via tauri.conf.json may not work in some cases due to the nature of the build. So you have to be aware of copying any files needed to the correct paths for html / js etc.

Rust libraries

Typically there are 3 types of libraries rust can generate

  • rlib - rust static libraries
  • dylib - rust shared libraries
  • cdylib - dynamic shared libraries that can be used to interop with other languages.

Typically cdylib libraries are used for interop with C / C++ Projects but this can also include other languages. The src-tauri example uses the cdylib crate type

Building / Running

# First build the library
cd src-tauri
cargo build
cd ..

# Next build the app
cd src-app1
cargo build

# Next run the app
cargo run