Closed
Description
When trying to use GetUserNameExA()
, cargo build
tries to link to SspiCli.dl
using non-existing file SspiCli.lib
instead of Secur32.dll
using Secur32.lib
, and build fails. I have the Windows 10 SDK installed and Secur32.lib is included in the SDK, so linking with that would succeed.
Steps to reproduce
Create a new project with the following:
Cargo.toml
[package]
name = "seclib"
version = "0.1.0"
edition = "2018"
[dependencies]
windows = "0.5.0"
[build-dependencies]
windows = "0.5.0"
build.rs
fn main() {
windows::build!(
windows::win32::windows_programming::GetUserNameExA
);
}
src\main.rs
#![allow(dead_code)]
#![allow(unused_imports)]
mod bindings {
::windows::include_bindings!();
}
use bindings::windows::win32::windows_programming::GetUserNameExA;
fn main() {
println!("Hello, world!");
}
Expected results
project is linked with secur32.dll
library and is linked successfully when executing cargo build
Actual results
cargo build tries to link to SspiCli.dl
using non-existing file SspiCli.lib
, and build fails
PS C:\Users\vegard\source\repos\seclib> cargo build
Compiling seclib v0.1.0 (C:\Users\vegard\source\repos\seclib)
error: linking with `link.exe` failed: exit code: 1181
|
= note: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX64\\x64\\link.exe" "/NOLOGO"
"/NXCOMPAT" "/LIBPATH:C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.1hpx7l8yy80fv79s.rcgu.o" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.1w4z1sgbrtqnze7z.rcgu.o" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.2fs4c3n89fhjdvfv.rcgu.o" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.2qslwrgqz64qcgqv.rcgu.o" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.3reqzfqie3wgb0fq.rcgu.o" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.411tlv2x1c6j2qno.rcgu.o" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.k435cl9zshn99or.rcgu.o" "/OUT:C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.exe" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\seclib.14z1cf9we081h8dx.rcgu.o" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis" "/LIBPATH:C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps" "/LIBPATH:C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "SspiCli.lib" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\libwindows-8bd0580c6cfa550c.rlib" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\libconst_sha1-b23143bff14a823b.rlib" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\libwindows_gen-07bcc77ef0066c8f.rlib" "C:\\Users\\vegard\\source\\repos\\seclib\\target\\debug\\deps\\libsquote-7f66eb9f64fa600d.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-0087fff1d6c84113.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-e9a9adcb7b282f86.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-c17bc77d789f8359.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-1f739c53c46039b3.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-b12f9afb50af9e82.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-4813d8391ae0f1e1.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcfg_if-a6dfd598b03abbd4.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-8e04de9ca6363561.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-05126e82a7fe403c.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-7f3e1ef8417012fa.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-df80c014103f27c5.rlib" "C:\\Users\\vegard\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-f404d34c325d6d79.rlib" "OLEAUT32.lib" "OLEAUT32.lib" "OLEAUT32.lib" "OLEAUT32.lib" "OLEAUT32.lib" "OLE32.lib" "OLE32.lib" "OLE32.lib" "OLE32.lib" "OLE32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "KERNEL32.lib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"
= note: LINK : fatal error LNK1181: cannot open input file 'SspiCli.lib'
error: aborting due to previous error
error: could not compile `seclib`
To learn more, run the command again with --verbose.
Metadata
Metadata
Assignees
Labels
No labels