我正在尝试使用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
答案 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; (披露:我写了博客文章)。