簡體   English   中英

Visual Studio C++ 是否可以在不鏈接的情況下編譯對象

[英]Is it possible for Visual Studio C++ to compile objects without linking

我正在運行 VS 2010 SP1,我有一個每周運行一次的特殊分析配置(因為構建服務器需要很長時間來分析所有內容)。

我希望此配置無需鏈接即可運行。 如果項目中所有代碼的分析都通過了,那么我希望構建繼續到下一個項目而不進行鏈接。

我看不出有什么方法可以告訴 VS 在不鏈接的情況下只運行 C++ 編譯器。 有誰知道在現有的 vcxproj 中執行此操作的方法嗎?

[編輯] 說明:我希望它能在 IDE 中運行。

我的下一步行動是手動編輯 vcxproj 以查看我是否無法擺脫構建的鏈接階段。

C++ 編譯器cl.exe當然可以,那就是/c開關(只編譯,不鏈接)。 不過,不確定 IDE 使用的msbuild系統以及與.vcxproj文件一起使用的系統。

根據文檔,這應該有效:

msbuild /target:Compile projectfile

要么

msbuild /target:projectname:Compile solutionfile

您可能還對/filelogger/fileloggerparameters選項感興趣,它們可以讓您捕獲構建消息。

就在這種情況下; 在使用 IDE 時嘗試在不鏈接的情況下構建。

為了在我的配置中實現這一點,我更改了我的應用程序的配置類型:

General -> Project Defaults -> Configuration Type

具體來說,從Application (.exe)更改為Static library (.lib) 這將允許您構建所有項目,但不需要進行任何鏈接。

好的,我的問題並不完全具體,我應該問的是:“我可以在沒有鏈接的情況下對 C++ 項目運行靜態代碼分析嗎?”。

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

Microsoft 文檔聲稱此選項在開發環境中不可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM