Ich habe die folgende VerzeichnisstrukturWie importieren Sie Makros in Submodule in Rust?
/main.rs
/lib.rs
/tutorial/mod.rs
/tutorial/foo.rs
In foo.rs
Ich brauche einen Makro aus der glium Bibliothek zu verwenden, implement_vertex!
. Wenn ich an der Spitze von foo.rs
setze, bekomme ich eine error: an `extern crate` loading macros must be at the crate root
. Ich bekomme auch eine error: macro undefined: 'implement_vertex!'
Es gibt auch eine lib.rs
das ist die Kiste Wurzel der Tutorial-Module. Ich musste #[macro_use]
dort setzen. Erzeugt das 2 Kistenwurzeln, wenn ich sowohl main.rs
als auch lib.rs
habe?
Was ist der richtige Weg, um Makros in einem Submodul zu importieren?
Ohne tatsächlichen Code kann dies nur durch blindes Raten gelöst werden. Alles, was wir brauchen, ist die Struktur, wo sie importiert wird und wo sie verwendet wird. –
Wie kompilieren Sie ('cargo build')? Hast du dein 'Cargo.toml' modifiziert? In welcher Datei befindet sich die Zeile 'mod tutorial;'? In welcher Datei steht die Zeile 'mod foo;'? Ohne diese Informationen können wir nur raten, wie Ihr Modulbaum aussieht, wie @DK. bereits gesagt. –