9

我正在运行 VS 2010 SP1,并且我有一个每周运行一次的特殊分析配置(因为构建服务器需要很长时间才能分析所有内容)。

我希望此配置无需链接即可运行。如果分析通过了项目中的所有代码,那么我希望构建继续到下一个项目而不进行链接。

我看不到一种方法来告诉 VS 只运行 C++ 编译器而不进行链接。有谁知道在现有的 vcxproj 中执行此操作的方法?

[编辑] 澄清:我希望这可以在 IDE 中工作。

我的下一步行动是手动编辑 vcxproj,看看我是否无法摆脱构建的链接阶段。

4

4 回答 4

4

C++ 编译器cl.exe当然可以,这就是/c开关(只编译,不链接)。不过,不确定msbuildIDE 使用的系统以及可以处理.vcxproj文件的系统。

根据文档,这应该有效:

msbuild /target:Compile projectfile

或者

msbuild /target:projectname:Compile solutionfile

您可能还对/filelogger/fileloggerparameters选项感兴趣,它们可以让您捕获构建消息。

于 2012-07-05T15:47:57.293 回答
2

就在这种情况下;在使用 IDE 时尝试在不链接的情况下进行构建。

为了在我的配置中实现这一点,我更改了我的应用程序的配置类型:

General -> Project Defaults -> Configuration Type

具体来说,从 更改Application (.exe)Static library (.lib)。这将允许您构建所有项目,但不需要进行任何链接。

于 2014-04-12T22:24:11.700 回答
2

好的,我的问题并不完全具体,我应该问的是:“我可以在没有链接的情况下对 C++ 项目运行静态代码分析吗?”。

最近的回答是“是的,在 VS 2017 中使用 msbuild 属性 RunCodeAnalysisOnce=true”。

于 2018-10-15T17:10:41.030 回答
0

Microsoft文档声称此选项在开发环境中不可用。

于 2021-05-21T18:25:03.447 回答