我知道在linux cmake中,make和make install可以组合在一起生成一个发行版。例如:
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make install 然而,在windows中,我找不到类似的命令来做同样的工作。通常,如果使用Visual Studio,则首先构建一个.sln项目,然后编译.sln项目,最后运行安装项目。是否可以像在Linux中那样使用几个命令来发布版本?非常感谢。
发布于 2014-01-28 01:39:59
您可以使用msbuild而不是make:
cmake -G"Visual Studio 12" ..
msbuild /P:Configuration=Release INSTALL.vcxproj或者你可以使用CMake的--build参数:
cmake -G"Visual Studio 12" ..
cmake --build . --target INSTALL --config Release如果您需要不带参数的make命令的等价物(即make all),您也可以构建ALL_BUILD目标,但这是作为INSTALL目标的一部分构建的。
发布于 2019-12-16 19:48:58
除了Fraser's answer之外,要让第一个解决方案生效,可能还需要在CMD中以管理员身份从原始路径调用MSBuild
cmake ..
"C:\Program Files (x86)\Microsoft Visual Studio\YEAR\EDITION\MSBuild\15.0\Bin\MSBuild.exe" INSTALL.vcxproj -p:Configuration=Release将YEAR和EDITION替换为您对应的值,例如2017和社区
您可能会收到以下错误,这意味着您的环境变量没有设置。
错误MSB4019:未找到导入的项目"C:\Microsoft.Cpp.Default.props“。确认声明中的路径正确,并且文件存在于磁盘上。
环境变量可以直接在系统设置中设置,也可以使用CMD作为管理员进行设置。(Source for reference)
对于Visual Studio 2015及更低版本:
SET VCTargetsPath="C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\vXXX\"将vXXX替换为您的相应版本,例如140
对于Visual Studio 2017及更高版本:
SET VCTargetsPath="C:\Program Files (x86)\Microsoft Visual Studio\YEAR\EDITION\Common7\IDE\VC\VCTargets\"将YEAR和EDITION替换为您对应的值,例如2017和社区
编辑:
我还注意到,如果设置了环境变量,Visual Studio 2017中的一些解决方案将不会在解决方案资源管理器中显示其内容。如有必要,只需再次删除它们。
https://stackoverflow.com/questions/21387504
复制相似问题