• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Visual Studio 2010中C++項目升級指南

    發布: 2010-3-26 11:39 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 232次 | 進入軟件測試論壇討論

    領測軟件測試網

      $(OutDir),$(TargetName)和$(TargetExt)在“常規”屬性頁中分別對應“Output Directory”,“Target Name”,“Target Extension”。你可以手動更改這些屬性的值,這樣你就不會再看到警告了。

      -如果你的項目生成了導入庫(Linker -> Advanced -> Import Library),而且鏈接器的輸出目錄不是默認目錄,那么你可能還需要更改導入庫的輸出文件夾。否則,生成的導入庫所在的目錄就可能會與鏈接器的輸出不同。

      -調試。轉換后命令被設為默認的$(TargetPath)。你可能需要做一些改動,這樣當按下F5 (Debugging)或 Ctrl + F5 (Start without debugging)之后才能加載正確的可執行程序。

      2) 屬性表的排序

      如果你的應用程序有屬性表,那么在轉換過程中你可能會遇到下面的警告中:

      - All user macros reported below for configuration 'Debug|Win32' are used before their definition, which can cause undesirable build results; this is not supported in this release. You can resolve this by changing the inclusion order of the consuming property sheets and making sure they come after the property sheets defining the user macros. - MSB4211: C:\foo\PropertySheet\foo.props; The property "MyIncludePath" is being set to a value for the first time, but it was already consumed at "C:\foo\PropertySheet\bar.props".

      該警告歸因于MSBuild對其屬性的評估方式:MSBuild按順序依次評估其屬性值。如果在派生的屬性表中定義的屬性在父屬性表中被使用,那么其值就會被設為空。然而,VCBuild采用的是延遲評估方式。這樣,即使是在派生屬性表中定義的屬性也可以在父屬性表中使用。若要解決此問題,請按照警告消息改變屬性表中的順序,從而確保屬性在定義后才被使用。

      升級后的行為變化

      盡管底層的構建系統已經發生了改變,但我們仍盡力讓用戶在遷移到Visual Studio 2010后有相同的使用體驗。另外,我們還采取了一些措施來改進構建體驗或是迎合MSBuild的某些特定要求。因此,一旦你遷移到Visual Studio 2010,就可能就會注意到以下一些變化。

      1) 從“解決方案依賴”到“項目到項目的引用”

      如果在一個舊版本Visual Studio版本下進行編譯的C++程序被轉換到Visual Studio 2010后,解決方案級定義的項目依賴關系便會被轉化成項目到項目的引用(project to project references)。這一變化確保了C + +項目依賴關系能夠在項目文件中被捕獲。下面就是一個項目到項目的引用在項目文件中的樣子:

       {c58574bf-9dd8-4cf8-b5b6-6551f2f3eece} false

      在項目文件中存放依賴關系有幾個優點。首先,用戶可以在不用解決方案的情況下構建一個項目,相關的項目會自動被構建。第二,它為那些擁有巨大的代碼樹又可能不會使用解決方案文件的用戶提供了方便。 此外,許多客戶都有好幾個解決方案文件,每個文件都包含項目的不同子集。通過這種方式就可以讓用戶避免為每個解決方案設置依賴關系。另一個重要因素就是,使用項目到項目的引用使得構建過程更加可靠,尤其是在多核的環境下。這與Visual Studio早期版本的情況也是一致的。

      -如果某個C#程序依賴于一個C++程序,并且這一依賴只使用了解決方案依賴關系表示,那么現在的這種轉換并不會把解決方案依賴關系轉換成項目到項目的引用。你可能會碰到因為不正確的構建順序而導致的構建錯誤,尤其是使用命令行直接進行MSBuild構建的時候。要解決該問題,你得為C#和C++程序手動設置項目到項目的引用。

      -在Visual Studio 2010中設置新的構建依賴關系時,通常都要用項目到項目的引用替代解決方案依賴。

      2) 項目到項目引用屬性的變化

      轉換后,CopyLocalDependencies和UseDependenciesInBuild屬性會被去除!癠se in Build”屬性改為“Reference Assembly Output”,以更好地表示該屬性的作用。另外兩個屬性:“Link Library Dependencies”和“Use Library Dependency Inputs”增加到了被引用的那個項目中,以便被引用的項目控制它的輸出是否被傳遞到引用它的那個項目中。以下是Visual Studio 2008和Visual Studio 2010項目到項目引用屬性的對比圖。

    對比圖

      -把“Reference Assembly Output”設為“false”會允許該項目成為項目到項目引用的一部分,從而設置構建依賴關系,而它的輸出不會被傳遞到引用它的那個項目的CL中。此屬性用于被托管的程序。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    42/4<1234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>