-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Will not compile on Windows with MinGW #32
Comments
Read over #26 and see if that helps. Notably the final comment where I listed the working commands. |
mingw works for me, but there are many mingw variants. Check if it works better if you add #include <string.h> and #include <stdlib.h> beside the #include <stdio.h> on line 63. Alternatively, try deleting the three #defines on lines 67-69. |
@Sanaki's suggestion worked, as well as setting up MinGW-w64 rather than the original MinGW. Additionally, the original MinGW has a different definition for swprintf() due to Microsoft's old implementation that did not comply with the ISO-C standard, which means it still won't compile even using the alternative commands, so MinGW-w64 must be used (I was honestly unaware there was more than one MinGW variant, so hopefully this helps someone). For whatever reason, I still cannot get it to compile via the makefile. Perhaps someone more experienced than I am can figure out how to make it work. |
Hi, I have the exact same problem and all the solutions proposed here and in #26 didn't work... |
You tried the commands in the final post there and it didn't work? What -did- happen? |
Yeah no, at first at tried to compile this stuff without the required libraries (I don't know crap about compiling stuff in C++). Then I tried a multitude of useless solutions, then the last commands in #26 and now I have my binary. Thank you for your help! |
Trying to compile on MSYS2 MINGW64 and getting
|
Isn't the point of weak symbols that they can be defined multiple times? Maybe that specific one isn't as weak as it should be. Try removing line 14 from flips.cpp. |
Thanks, it works. I feel stupid, I just automatically scrolled to the actual code and didn't notice the |
On MSYS2 Mingw64:
I tried manually defining |
Either your msys installation is borked, or Flips is. And I already know Flips is borked in several ways, so let's assume there's only one bork going on. Are you trying to compile with make.sh? That one is only intended for Linux binaries. If you want a Windows binary, you're supposed to use the Makefile, or grab the binary from SMW Central. Though I will agree that error is quite unhelpful. I'd welcome a PR to either error out earlier or add Windows support to make.sh, but I don't have any msys on my machine (I compile my Windows binaries with a mingw installed in Wine, as seen in make-maintainer.sh), so I can't produce one myself. |
I tried using |
e26220e should have fixed this issue. |
I needed the new version of the patcher to fix the "won't create patch with files that are 16mb" 1.31 bug (the link to download on the old issue seems to be down), but I absolutely cannot get the patcher to compile on Windows. MinGW reports that
_wtoi
,_wcsicmp
, and_wcsdup
are not declared in scope back from the define inflips.h
. I've tried messing with the header unsuccessfully. I can confirm that it is compiling with theFLIPS_WINDOWS
option (so these should be working), but I can't figure out much beyond that. I also can confirm that these functions are properly functioning on my computer in programs I wrote to test them quickly, including with#define
.The text was updated successfully, but these errors were encountered: