【问题标题】:Building Visual Studio Express 11 project from command line从命令行构建 Visual Studio Express 11 项目
【发布时间】:2012-10-30 09:48:04
【问题描述】:

到目前为止,我有以下技术从命令行构建我的 C++ 项目(目的:使用 jenkins 进行夜间构建,与“普通”项目具有相同的配置):

devenv MySolution.sln /build "Release" /project "MyProject"

或者,从一个明确的版本:

VCExpress MySolution.sln /build "Release" /project "MyProject"

现在,我最近获得了 VC11 express for Desktop,显然,它不是同一个可执行文件(我认为 VCExpress.exe 的等价物是 WDExpress.exe,我错了吗?),它不是同一个命令行(它的东西像 WDExpress MyProject.vcxproj /Build),并且构建日志不会输出到标准输出(它们可能在其他地方可用)。

所以,我只是想知道我是否遗漏了什么?

也许不是必须调用的 WDExpress.exe?

【问题讨论】:

    标签: c++ visual-studio continuous-integration


    【解决方案1】:

    我自己刚才也遇到了同样的问题。我认为我们应该使用 msbuild.exe 本身。这也是一种更通用的方法,因为您不必在 vcexpress 和 wdexpress 之间切换。我什至不确定 wdexpress.exe 是否支持构建 sln 文件(从命令行)

    无论如何,这里有关于 msbuild.exe 的信息 http://msdn.microsoft.com/en-us/library/ee662426.aspx

    试过了,效果很好。我机器上 msbuild.exe 的位置: Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 它显然因 .net 版本而异,所以我现在正在寻找一种方法来从环境变量或类似的东西中获取 msbuild.exe 的路径。

    【讨论】:

    • 好的,我会试试那个.. 至少它比 WDExpress 有更好的文档记录(我在 Devenv.exe 文档中找到了“/Build”命令,而不是在 WDExpress.exe 文档中)。要为 MSBuild 设置正确的路径,vcvars32.bat 是否有效?我用它来设置 devenv 和 VCExpress 的路径...
    • 我认为您不需要调用 vcvars32.bat 文件。由于 msbuild 使用正确的 Visual Studio 版本/版本自动构建 sln 文件,我认为它也会自动设置正确的环境变量。
    • 作为后续,调用 vcvars32.bat 是个好主意,因为它将 msbuild 路径放在 Path 环境变量中:stackoverflow.com/a/12379822/911325
    • 好吧,貌似是工作的工具,但奇怪的是,它似乎故意忽略了解决方案中的一些项目。例如,我有一个启动 Doxygen 文档生成的目标“doc”。它在 IDE 中完美运行,但 MSBuild 只是说这个目标不存在。也可能是来自 CMake 的问题......(我用它来生成 VS 项目)。
    • 在我看来,msbuild 无法识别 cmake 生成的 msbuild 代码。或者,您可能没有在系统上使用正确版本的 msbuild。对不起,我无法提供更多帮助,对这个问题不太熟悉。您可以做的是在文本编辑器中打开解决方案并查找您的文档目标。查看目标的正确 msbuild 语法是什么,并查看 doc 目标是否遵循它并且看起来正确。通过Skype联系我,我的ID是EddieBytes,如果你愿意,我可以试试看。
    猜你喜欢
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 2014-09-13
    • 2022-10-15
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    相关资源
    最近更新 更多