diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index d39c502f30..ec2b860462 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -175,6 +175,15 @@ sub AddLibrary
 {
 	my ($self, $lib, $dbgsuffix) = @_;
 
+	if ( ! -e $lib)
+	{
+		my ($libname = $lib) =~ s!.*[/\\]!!;
+		my $altlibname =  $libname eq 'zdll.lib' ? 'zlib.lib' : "lib$libname";
+		my ($altlib = $lib) =~ s/$libname/$altlibname/;
+		die "cannot find $lib or $altlib" unless -e $altlib;
+		$lib = $altlib;
+	}
+
 	# quote lib name if it has spaces and isn't already quoted
 	if ($lib =~ m/\s/ && $lib !~ m/^[&]quot;/)
 	{
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index cb2ad6cd29..d0a949b391 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -1089,12 +1089,12 @@ sub AddProject
 	if ($self->{options}->{lz4})
 	{
 		$proj->AddIncludeDir($self->{options}->{lz4} . '\include');
-		$proj->AddLibrary($self->{options}->{lz4} . '\lib\liblz4.lib');
+		$proj->AddLibrary($self->{options}->{lz4} . '\lib\lz4.lib');
 	}
 	if ($self->{options}->{zstd})
 	{
 		$proj->AddIncludeDir($self->{options}->{zstd} . '\include');
-		$proj->AddLibrary($self->{options}->{zstd} . '\lib\libzstd.lib');
+		$proj->AddLibrary($self->{options}->{zstd} . '\lib\zstd.lib');
 	}
 	if ($self->{options}->{uuid})
 	{
