问题描述
我试图遵循 Rustnomicon 中的 ffi 示例。 我克隆了 snappy 存储库并构建了它。我将 snappy 库放在了 target/debug/deps/ 目录中。这是代码 -
use libc::size_t;
#[link(name = "snappy",kind="static")]
extern "C" {
fn snappy_max_compressed_length(source_length: size_t) -> size_t;
}
fn main() {
let x = unsafe { snappy_max_compressed_length(100) };
println!("max compressed length of a 100 byte buffer: {}",x);
}
当我尝试构建它时,它失败并出现此错误 -
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
snappy.lib(snappy.obj) : error LNK2019: unresolved external symbol __imp__invalid_parameter referenced in function "void * __cdecl std::_Allocate_manually_vector_aligned<struct std::_Default_allocate_traits>(unsigned __int64)" (??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z)
snappy.lib(snappy-stubs-internal.obj) : error LNK2001: unresolved external symbol __imp__invalid_parameter
snappy.lib(snappy.obj) : error LNK2019: unresolved external symbol __imp__CrtDbgReport referenced in function "void * __cdecl std::_Allocate_manually_vector_aligned<struct std::_Default_allocate_traits>(unsigned __int64)" (??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z)
snappy.lib(snappy-stubs-internal.obj) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
C:\Users\HP\Desktop\rust\c_interop\target\debug\deps\c_interop.exe : Fatal error LNK1120: 2 unresolved externals
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)