我可能没有正确描述我的问题标题,如果需要请编辑它.
我正试图把一个Rust 的界面包装成LXC library,这是用C写的.
我成功地调用了lxc_get_version
或lxc_container_new
等简单函数,但无法访问struct lxc_container
块中描述的函数.
以下是我代码的一部分:
#[link(name = "lxc")]
extern {
// LXC part
fn lxc_get_version() -> *const c_char;
fn lxc_container_new(name: *const c_char, configpath: *const c_char) -> LxcContainer;
// LXC container parts
fn is_defined(container: &LxcContainer) -> bool;
}
这里有一个错误:
note: test.o: In function `LxcContainer::is_defined::heb2f16a250ac7940Vba':
test.0.rs:(.text._ZN12LxcContainer10is_defined20heb2f16a250ac7940VbaE+0x3e): undefined reference to `is_defined'
EDIT:我管理过C struct 中的函数称为函数指针.我试着用谷歌搜索"Rust C函数指针"之类的东西,但运气不好.