MinGW32在Windows上发出命令

时间:2016-05-31 22:42:01

标签: windows cmake mingw32

我正在尝试使用MingW32和cmake在Windows上安装模拟软件。

我遇到的问题是:

cmake .. -DCMAKE_INSTALL_PREFIX="/cygdrive/c/Gromacs467" -DGMX_X11=OFF -DGMX_GPU=OFF -DGMX_MPI=OFF -DGMX_PREFER_STATIC_LIBS=ON -DGMX_CPU_ACCELERATION=SSE2 -DBUILD_SHARED_LIBS=NO -DGMX_BUILD_OWN_FFTW=ON -VMDDIR="C:\Program Files (x86)\University of Illinois\VMD"  -G "MinGW Makefiles"

来自Microsoft visual studio,(否则我在其他问题上运行)。

然后我启动一个MinGW控制台并转到我的Makefile创建的库中,然后输入命令make,这就是我得到的:

c:\Temp\gromacs-4.6.7\cmake_build>make
Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.

当然make命令实际上并没有执行。为什么我得到Windows版本?不知道......

有趣的是,如果我多次输入,MniGW32控制台的名称将更改为添加make,并在以后继续执行。

make --version给出正常输出,所以我不明白问题的来源。

c:\Temp\gromacs-4.6.7\cmake_build>make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-msys

2 个答案:

答案 0 :(得分:2)

如果您使用cmake ... -G "MinGW Makefiles",则需要致电mingw32-make

只是一个提示:我假设您之前使用Cygwin构建,而对于MinGW32,它应该是-DCMAKE_INSTALL_PREFIX="/c/Gromacs467"而不是-DCMAKE_INSTALL_PREFIX="/cygdrive/c/Gromacs467"

<强>参考

答案 1 :(得分:2)

您可以让CMake使用以下语法为您调用构建,而不是直接调用make

cmake --build <build-dir> --target <target-name> --config <build-type>

--target--config参数是可选的,<build-dir>必须指向您的CMake项目的构建目录。以这种方式调用构建的主要优点是CMake已经确定了构建工具并知道在哪里找到它以及如何正确地调用它。以这种方式通过CMake调用您的构建可能会更加强大。

--build可用float[] distance = new float[1]; Location.distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude, distance); 选项的基本CMake文档和一些相关资料可以在here中找到,特别是第34节“摘要构建工具&#34; (披露:我写了博客文章)。