🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.programming
1 messages
1 total messages Started by Maciej Sobczak Mon, 14 Jun 2021 20:17
Linkowanie natywnego liba w Rust
#217474
Author: Maciej Sobczak
Date: Mon, 14 Jun 2021 20:17
21 lines
2215 bytes
Czołem.

Powiedzmy, że jest natywna (w C albo C++) biblioteka (a) w C:\mylibs\myfuns.lib.
Powiedzmy, że jest program (b) w Rust, którego cargo jest w C:\myprograms\myprog.

Co trzeba zrobić, żeby program (b) zlinkował się z biblioteką (a)?
Dokumentacja jest zdumiewająco oszczędna w tym zakresie. Sama metoda deklaracji funkcji jest opisana tutaj:

https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html#using-extern-functions-to-call-external-code

Na stacku są jakieś dzikie chwyty na to, żeby w trakcie kompilacji osobnym plikiem build.rs generować w trakcie buildu dodatkowe opcje dla kompilatora. Ale traktuję to jako żart.
Ktoś zna normalną metodę? Spodziewałbym się, że taką banalną sprawę załatwi jedna linijka w Cargo.toml. Ale chyba zapomnieli to wymyślić.
Ktoś, coś?

PS. Kurczę, oni chyba tak na poważnie:
https://doc.rust-lang.org/cargo/reference/build-scripts.html

Ale naprawdę nie da się prościej?

-- 
Maciej Sobczak * http://www.inspirel.com
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads