Visual Studio 2013建立工程匯入現有代碼檔案夾並且保持目錄結構

來源:互聯網
上載者:User

標籤:

本文提供了一個在Windows環境下使用Visual Studio 2013編輯現有原始碼並且保持目錄結構的方法。

本文使用VS2013中文社區版做樣本(本版本為免費版,可在VS官網下載),其他版本的VS操作方式類似。

  • 開啟VS2013,選擇【菜單】-【檔案】-【建立】-【從現有代碼建立項目】

  • 選擇項目類型:Visual C++

  • 專案檔位置:建立完成後會在這個目錄產生sln,suo,vcxproj,filters和user等VS解決方案和專案檔,這個必須和原始碼的根目錄保持一致,否則不能匯入檔案夾結構。
  • 項目名稱填所需項目
  • 最後去除勾選【在方案總管中顯示所有檔案】,避免檔案太多

  • 因為代碼是Linux代碼,並不需要在Windows下編譯,所以選擇使用外部產生系統即可

  • 無需編譯的話,直接選擇下一步

  • 完成項目產生嚮導

  • 項目產生中,如果檔案較多,會需要一些時間

  • 如果源檔案來源於網路映射盤(比如筆者這裡使用的是Linux的Samba共用磁碟),會彈出安全警告,去除勾選選擇確定即可。

  • 項目建立好後,在方案總管中會出現所有篩選過後項目目錄的源檔案,是未分檔案夾的。如果看不到方案總管,可以在【菜單】-【視圖】中開啟。

  • 上面不分檔案夾的源檔案並不是我們想要的,如果需要分檔案夾,在方案總管中點擊【顯示所有檔案】表徵圖,如所示。點擊之後,會出現檔案夾。並且會在檔案表徵圖上標示出該檔案是否屬於專案檔。

  • 如果原始碼路徑檔案有更新,比如增加或者刪除檔案,在方案總管中點擊重新整理按鈕,即可看到最新的檔案狀態。如果要將新檔案添加進項目進行管理,則在新檔案上點擊右鍵,選擇【包括在項目中】即可,添加後檔案表徵圖也會做出相應改變。

  • 由於原始碼是Linux下,Linux的標頭檔與VS預設的標頭檔不一致,會導致很多標頭檔找不到或者是不匹配,影響代碼提示和閱讀。解決方案是添加Linux的標頭檔到Include路徑。下面是具體操作方法:
  • 在方案總管中右鍵項目,選擇【屬性】。

  • 在彈出的屬性頁面中,找到VC++目錄,其中的包含目錄填上Linux下的標頭檔目錄。

  • 關於Linux的標頭檔如何獲得,可以在Linux下使用Samba服務端,在Windows上串連,將下面3個路徑複製到Windows系統相應目錄即可,最好linux下複製一個,就在windows下複製一份,否則一些檔案可能會被後續的複製操作覆蓋。
    • 1

      2

      3

      cp -r /usr/include ~/1

      cp -r /usr/lib/gcc/ ~/2 #這個目錄可能稍有變化,也許是/usr/lib64/gcc

      cp -r /usr/local/include ~/3

  • 複製完成後,將下面的路徑粘貼至VS中即可(64位),其中【D:\Code\Linux\Ubuntu\】為Windows下對應Linux的根目錄

    1

    2

    3

    4

    5

    6

    7

    8

    D:\Code\Linux\Ubuntu\usr\include\c++\4.8;

    D:\Code\Linux\Ubuntu\usr\include\x86_64-linux-gnu\c++\4.8;

    D:\Code\Linux\Ubuntu\usr\include\c++\4.8\backward;

    D:\Code\Linux\Ubuntu\usr\lib\gcc\x86_64-linux-gnu\4.8\include;

    D:\Code\Linux\Ubuntu\usr\local\include;

    D:\Code\Linux\Ubuntu\usr\lib\gcc\x86_64-linux-gnu\4.8\include-fixed;

    D:\Code\Linux\Ubuntu\usr\include;

    D:\Code\Linux\Ubuntu\usr\include\x86_64-linux-gnu;

  • 修複VS中__cplusplus宏固定為199711L導致無法識別C++11新增特性的辦法
    比如<unordered_set>標頭檔中,定義了如下語句,導致VS包含的實際上是一個c++0x_warning.h的檔案,無法真正識別unordered_set的實現:

    1

    2

    3

    #if __cplusplus < 200311L

    # include <bits/c++0x_warning.h>

    #else

    在網上找了很久,也沒找到修改VS內建__cplusplus宏的方法,只能曲線救國了,即將所有標頭檔中200311L改成199711L即可,具體操作如下:

    • 將複製到Windows下的標頭檔路徑重新打包(比如:D:\Code\Linux\Ubuntu\)在Linux下解壓後執行:
      sed -i "s/201103L/199711L/g" `grep "201103L" -rl *`

    • 執行後將源檔案複製回來即可。
  • 建立完成後專案檔目錄會產生以下專案檔,以後需要開啟項目直接雙擊sln解決方案檔案即可

Visual Studio 2013建立工程匯入現有代碼檔案夾並且保持目錄結構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.