[CMake] MinGW Compilers on Windows

J Decker d3ck0r at gmail.com
Fri Dec 15 10:49:42 EST 2017


On Fri, Dec 15, 2017 at 7:39 AM, Kevan Hashemi <hashemi at brandeis.edu> wrote:

> Dear Alan,
>
> Thank you for your encouragement to use the "MinGW Makefiles" generator on
> Windows, and for pointing out the mingw32-make alternative to just "make"
> in MSYS.
>
> So if you are further interested in the "MinGW Makefiles" generator,
>> you should remove all sh.exe versions from your PATH (including sh.exe
>> provided by raw Windows), get into a CMD environment, execute cmake
>> with the "MinGW Makefiles", and then build your software with
>>
>> mingw32-make.exe
>>
>
> I installed the latest version of MinGW with MSYS on my 32-bit Windows 7
> virtual machine (which is running in VMBox on a MacOS 10.12.6 host
> computer). I open a CMD terminal (DOS prompt). I do not move any sh.exe
> files. I run cmake with -G "MinGW Makefiles" for Executable_A. The
> configuration and generation complete with no errors and only one warning.
> In the CMD terminal, I use mingw32-make.exe to build Executable_A. The
> executable runs perfectly when linked dynamically to libraries I previously
> built with "MSYS Makefiles".
>
> I repeat the above process, but when it comes to the build itself, I
> switch from the CMD terminal to the MSYS terminal, and use mingw32-make.exe
> instead of just "make" (as noted previously, "make" takes me to an
> alternate shell with a Microsoft copyright). The build completes and
> Executable_A runs just fine.
>
> I rebuild my libraries with the "MinGW Makefiles" process, staying in the
> CMD terminal for both stages. The CMake completes with a few minor
> warnings. The CMD build proceeds at about the same speed as the MSYS build
> (you found the CMD build to be faster). When the build completes, I run
> Executable_A linking dynamically to the new set of "MinGW Makefiles"
> libraries. The executable runs perfectly.
>
> Conclusion: Easiest way to get MinGW Makefile generation is to do it in
> the CMD terminal. After that, you make with mingw32-make in eithger CMD or
> MSYS. Libraries compiled with either process are compatible with one
> another at any stage of compiling or linking.
>
>
I just want to throw out there, I use MinGW (with MingW Makefiles) wihtout
MSYS just fine for most things.... including OpenCV which I tested first
day and had no issues... but by then others had already commented.    All
that requires is mingw(64).bin and cmake/bin in your path....



> Yours, Kevan
>
> --
> Kevan Hashemi, Electrical Engineer
> Physics Department, Brandeis University
> http://alignment.hep.brandeis.edu/
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensou
> rce/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> https://cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cmake.org/pipermail/cmake/attachments/20171215/95f2ae80/attachment-0001.html>


More information about the CMake mailing list