簡體   English   中英

使用Microsoft C ++編譯器而不安裝Visual Studio

[英]Using Microsoft C++ compiler without installing Visual Studio

在我們的團隊中,開發人員都擁有Visual Studio 2012,我們也使用TFS2012構建。 出於空間和可管理性的原因,我們不在我們的(許多)構建代理上安裝Visual Studio。 到目前為止,這對C#項目(csproj)起了作用。

現在我們要添加對C ++項目(vcxproj)的支持。 這些構建在開發人員的機器上,但不在構建代理上 - 我們得到: X.vcxproj(31,3): error MSB4019: The imported project "C:\\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. X.vcxproj(31,3): error MSB4019: The imported project "C:\\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

我想這是因為C ++編譯器和目標只與VS一起安裝。

  1. 有沒有辦法只檢查編譯器和目標,並在common.targets中設置一些屬性指向那里?
  2. 如果做不到這一點,我需要在每個構建代理上安裝以支持C ++編譯的最小值是多少? 我能找到的最少的是VS Express,這仍然是我不喜歡的。

對於C#來說很簡單,編譯C#程序的能力在框架System.CodeDom中是天生的,所以只安裝.NET就足夠了。 對於C ++來說並非如此。 您至少需要安裝Windows SDK,半場演出。 這包括早於8.0的SDK版本中的C ++編譯器

但是,您接下來會擔心找到一種方法來獲取該機器上的類庫。 以ATL和MFC為例。 你不能只是復制它們,這違反了許可證。 更糟糕的是,微軟並沒有像過去那樣開展業務。 自VS2012以來,他們改為快速發布周期,並以幾個月的方式發布更新。 這些不是你可以忽略的更新,它們添加了很多主要的塊來實現C ++ 11。 絕對是您的C ++程序員想要使用的那種。

通常,C ++編譯器的SDK版本與VS版本不同步,Windows團隊沒有義務保持更新。 構建機器永遠不應該做的一件事是運行一組不同於程序員使用的構建工具。 這使得構建中斷無法被開發者重現一個非常討厭的爭論點。 除非你喜歡讓你的生活變得復雜,否則這個信息很清楚。 不要這樣做,安裝VS.

早期的TFS版本也存在此問題。 據我所知,唯一的解決方案是將目標復制到代理。 應該足以創建此文件夾的副本:

MSBuild\\Microsoft\\VisualStudio\\v11.0\\*.*

至少您不必在代理上安裝Visual Studio(除了您希望自動創建安裝項目)。

這里也描述錯誤。

暫無
暫無

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

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