Running Cargo fuzzer on Windows MSVC

โš“ Rust    ๐Ÿ“… 2025-11-17    ๐Ÿ‘ค surdeus    ๐Ÿ‘๏ธ 9      

surdeus

So. To run saphyr crate I need cargo fuzz. So I followed the non-optional steps in Fuzzing on Windows - Rust Fuzz Book

And I've been trying everything to get it to work. Not a C/C++ expert, but I ran the cargo build --verbose to get full output and it got following:

`C:\Users\Daniel\.rustup\toolchains\1.90.0-x86_64-pc-windows-msvc\bin\rustc.exe 
--crate-name parse 
--edition=2021 fuzz\fuzz_targets\parse.rs 
--error-format=json 
--json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=173 
--crate-type bin
--emit=dep-info,link 
-C embed-bitcode=no 
-C debuginfo=2 
--check-cfg cfg(docsrs,test) 
--check-cfg "cfg(feature, values())"
-C metadata=87316383e796f718 
--out-dir C:\projects\saphyr\target\debug\deps 
-C incremental=C:\projects\saphyr\target\debug\incremental 
-L dependency=C:\projects\saphyr\target\debug\deps 
--extern libfuzzer_sys=C:\projects\saphyr\target\debug\deps\liblibfuzzer_sys-c069053dfe4af998.rlib 
--extern saphyr=C:\projects\saphyr\target\debug\deps\libsaphyr-92d268998031eb13.rlib 
--extern saphyr_parser=C:\projects\saphyr\target\debug\deps\libsaphyr_parser-d55d57b6ec8ed5c1.rlib 
-L native=C:\projects\saphyr\target\debug\build\libfuzzer-sys-c4834ed5d181fca3\out 
-L "native=C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717\atlmfc\lib\x64
error: linking with `link.exe` failed: exit code: 1561
  |
  = note: "C:\\Program Files\\Microsoft Visual Studio\\18\\Community\\VC\\Tools\\MSVC\\14.50.35717\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "C:\\Users\\USERNAME\\AppData\\Local\\Temp\\rustc8qMXLw\\symbols.o" "<95 object files omitted>" "C:\\projects\\saphyr\\target\\debug\\deps/{libsaphyr_parser-d55d57b6ec8ed5c1,libthiserror-4ddbb23fc2d4ace4,libarraydeque-2cd7471d3c980d29,liblibfuzzer_sys-c069053dfe4af998,libarbitrary-5c1e4583cacb232a}.rlib" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib/{libstd-*,libpanic_unwind-*,libwindows_targets-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libunwind-*,libcfg_if-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "kernel32.lib" "kernel32.lib" "kernel32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "dbghelp.lib" "/defaultlib:msvcrt" "/NXCOMPAT" "/LIBPATH:C:\\projects\\saphyr\\target\\debug\\build\\libfuzzer-sys-c4834ed5d181fca3\\out" "/LIBPATH:C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\atlmfc\\lib\\x64" "/OUT:C:\\projects\\saphyr\\target\\debug\\deps\\parse.exe" "/OPT:REF,NOICF" "/DEBUG" "/PDBALTPATH:%_PDB%" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\libstd.natvis"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note:    Creating library C:\projects\saphyr\target\debug\deps\parse.lib and object C:\projects\saphyr\target\debug\deps\parse.expโ
          LINK : fatal error LNK1561: entry point must be definedโ


error: could not compile `saphyr-fuzz` (bin "parse") due to 1 previous error

Caused by:
  process didn't exit successfully: `C:\Users\USERNAME\.rustup\toolchains\1.90.0-x86_64-pc-windows-msvc\bin\rustc.exe --crate-name parse --edition=2021 fuzz\fuzz_targets\parse.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=136 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --check-cfg cfg(docsrs,test) --check-cfg "cfg(feature, values())" -C metadata=87316383e796f718 --out-dir C:\projects\saphyr\target\debug\deps -C incremental=C:\projects\saphyr\target\debug\incremental -L dependency=C:\projects\saphyr\target\debug\deps --extern libfuzzer_sys=C:\projects\saphyr\target\debug\deps\liblibfuzzer_sys-c069053dfe4af998.rlib --extern saphyr=C:\projects\saphyr\target\debug\deps\libsaphyr-92d268998031eb13.rlib --extern saphyr_parser=C:\projects\saphyr\target\debug\deps\libsaphyr_parser-d55d57b6ec8ed5c1.rlib -L native=C:\projects\saphyr\target\debug\build\libfuzzer-sys-c4834ed5d181fca3\out -L "native=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64"` (exit code: 1)

I keep getting the LNK1561 error, and I'm not sure what I'm doing wrong.

Did anyone have any luck running cargo fuzzer on Windows?

1 post - 1 participant

Read full topic

๐Ÿท๏ธ Rust_feed