doyubkim / fluid-engine-dev

Fluid simulation engine for computer graphics applications
https://fluidenginedevelopment.org/
MIT License
1.84k stars 256 forks source link

Fixes for supporting MinGW-w64 #295

Closed cesss closed 4 years ago

cesss commented 4 years ago

If you want to cross-compile from any UNIX system to Windows, using MinGW-w64, you need to do the following fixes:

With all of this, it builds fine. I still need to test it, but I hope it will work.

BTW, let me suggest to build the source with GCC 9.x on Linux, because it's quite likely that you'll hit the problem requiring the "-Wno-deprecated-copy" flag even on Linux if you use GCC 9 (my mingw-w64 is 9.2.0)

doyubkim commented 4 years ago

Thanks for reporting this! I haven't tried MinGW-w64, so needs to test the build on it. Setting up a proper CI will be more important in this case.

cesss commented 4 years ago

It seems it needs some work, because I'm getting 9 failures when running the unit tests. My advice is that you start by building it with GCC 9.x even on Linux, because I guess that the failure due to "deprecate copy" is not specific to MinGW-w64, but to GCC 9 (it's a warning, but you build with -Werror, so it breaks the build).

For the moment I don't consider building Jet on Windows a priority, but I suggest you to support cross-compiling (many developers build for Windows that way).

doyubkim commented 4 years ago

BTW, that GCC9 error comes solely from gtest (which is discussed in a separate Issue #296) which needs to be updated to the latest release. There is another PR (#297) that fixes the issue while trying to support Ubuntu 20.04 LTS (which also defaults its gcc to 9.x).

doyubkim commented 4 years ago

The fix is now merged!