2016-07-27 25 views
3

我很苦惱如何從外部箱子導入宏。在我main.rs我導入Glium箱:如何導入Rust中的宏?

#![macro_use] 
extern crate glium; 

pub use glium::*; 

// where my actual main function will be done from 
mod part01drawtriangle; 

fn main() { 
    part01drawtriangle::main(); 
} 

在我的其他文件中,在我的主要功能是從,我稱之爲從箱子的一個宏來:

pub fn main() { 
    implement_vertex!(Vertex, position); 
} 

建築的時候,我得到錯誤信息:

error: macro undefined: 'implement_vertex!' 
+0

我遇到了同樣的問題,也與glium,但嘗試應用下面的解決方案無法正常工作。我不斷收到宏未定義的錯誤。我的目錄結構是[main.rs,lib.rs,tutorial:[mod.rs,draw_triangle.rs]],其中的implement函數!正在使用draw_triangle.rs – jz87

回答

10

#[macro_use],不#![macro_use]

#[..]將屬性應用於它後面的事物(在本例中爲extern crate)。 #![..]將一個屬性應用於包含事件的(在本例中爲根模塊)。

+0

比我快30秒! – Shepmaster

+7

我已經失去了我輸了比賽的次數。 :) –

+0

但後來我得到這樣的錯誤'未能解決。使用未聲明的類型或模塊'glium :: glutin :: WindowBuilder' 是那個命名空間相關的?我還添加了'使用glium :: *;'但仍然不起作用 –