在 Windows 7、Visual Studio 2010 和命令行中使用 CMake
如何在命令行上将 CMake 与 Visual Studio 2010 结合使用?
对于 Visual C++ Express Edition (2010),我会输入:
cmake .
nmake
nmake install
simple。
我注意到在 Visual Studio 2010 中,CMake 生成解决方案文件而不是 Makefile。所以我输入:
cmake .
msbuild mysolutionfile.sln
但是然后呢?我曾经能够输入“nmake install”,它会安装该项目。我现在要输入什么来安装该项目?
How do I use CMake with Visual Studio 2010 on the command line?
With Visual C++ Express Edition (2010) I would type:
cmake .
nmake
nmake install
simple.
I noticed with Visual Studio 2010, CMake generates a solution file instead of a Makefile. So I type:
cmake .
msbuild mysolutionfile.sln
But then what? I used to be able to type "nmake install" and it would install the project. What do I type now to install the project?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
两点:
1- CMake:您可以选择您的生成器。 Visual Studio 恰好是您的情况的默认选择。如果要使用 nmake,可以将以下内容添加到 cmake 命令中:-G "NMake Makefiles"。或者,您可以使用 cmake-gui.exe,第一个选项是在下拉列表中选择您的生成器。确保删除之前生成的构建目录和 cmakecache。
2- Visual Studio:您可以使用 /target:INSTALL 指定 msbuild 的目标。通常,cmake 创建一个 INSTALL 项目:构建此项目模仿运行 make install。
干杯。
Two points:
1- CMake: You can choose your generator. Visual Studio happens to be the default in your case. If you want to use nmake, you can add the following to your cmake command: -G "NMake Makefiles". Alternatively, you can use cmake-gui.exe and the first option will be to choose your generator in a drop-down list. Make sure to remove your previously generated build dir and cmakecache.
2- Visual Studio: you can specify the target to msbuild with /target:INSTALL. Typically cmake creates an INSTALL project: building this project mimicks running make install.
Cheers.
这比使用
msbuild
或vcbuild
更可取,因为某些版本的 Visual Studio 似乎在处理 cmake 生成的项目间依赖项时遇到问题。并且
devenv
比nmake
更可取,因为它可以让您更好地控制调试配置等。This is preferable to using
msbuild
orvcbuild
because certain versions of Visual Studio seem to have trouble with the inter-project dependencies that cmake likes to generate.And
devenv
is preferable tonmake
because it gives you more control over debug configurations, etc.