The premake script seems to pull in all .cpp/.h files it finds, which is a good idea in theory but broken by the current update - cScreenMovie seems to have replaced cMovieScreen, but files for both still exist. Because the premake script generates objects from both and tries to link them, the build fails as we're trying to define multiple functions of the same name.
I'm really not enjoying the idea of digging through the code to try and find the filename issue, but I'm guessing the image names get read in as a string, cast to a lowercase string at some point (during categorization?), and a call to open happens using that lowercase string as the filename rather than the original string - there's no reason this should fail on Windows, under normal circumstances. Seems to be a problem with how images are handled and not much else; girl and item files read in as they're supposed to.
If anyone wants to batch-sort their images to lowercase anyways, rather than fixing the root problem, just save the following as a bash script in your Characters folder and run it; it'll recursively go through the subfolders and rename whatever's found there to a lowercase name, while leaving folder names and .girlsx/.rgirlsx files untouched. Took under a minute to work through a 16.5GB backup folder.
for i in */;
do
cd "$i"
perl-rename -f 'y/A-Z/a-z/' *.*
cd ..
done
perl-rename might be called prename on your distro, or it could even be the default rename tool, and if you have multiple files in one folder with the same name (Image,jpg, image.JPG, image.jpg, etc) something's gonna get overwritten. Might also be a pain sorting in new images in the future, and it doesn't go more than a single subdirectory deep (I have no idea if the game is even capable of mulitple-level scanning for girls/images).