2017-03-27 34 views
0

我已閱讀微軟的教程"Creating and Using a Static Library (C++)",併成功關注它。將「參考」點添加到靜態庫項目中:仍然需要包含目錄

這裏是虛擬項目: -

  • B:一個靜態庫項目
  • C的名稱:使用B

下面是微軟引導什麼項目名稱: -

  1. 單擊「添加引用」C,然後單擊B(容易)
  2. 增加「附加包含目錄」的C指向B的代碼文件夾

爲什麼我必須做的第二個(冗餘)的步驟?
它會導致一些可維護性問題,特別是如果我有很多項目。

專家是做什麼的?
我相信只是第一步應該夠了,但是經過測試之後就沒有了。

問:

  • 有沒有更好的工作流程?它是什麼?
  • 如果否,如何維護包含目錄(如果我移動B的文件夾)?

搜索後,我認爲沒有更好的方法,我必須手動維護它。

回答

1

第1步(「添加引用」)用於鏈接器,第2步(「附加包含目錄」)用於編譯器。

的確,IDE可以足夠聰明地自動操作步驟2。但是,您可能不會添加整個B的代碼文件夾,以便通過C查看。最有可能你的意思是隻指向一個文件夾列表B接口(公共頭文件),C不應該看到B私有/內部頭文件或B源代碼:IDE確實太難以確定它究竟在哪裏,這就是爲什麼用戶應該手動進行。

對於您最後的問題:「專家」所做的是他們通常不用手工編輯/維護IDE文件,而是通過工具生成它們,如CMake。然後,當結構發生變化時,它們只是重新生成項目(sln/vcproj)文件(再次運行CMake)。

+0

您是否有更多關於cMake + VS工作流程的必讀內容? (除了鏈接)謝謝。 – javaLover

+0

@javaLover:CMake是一個很棒的工具,一旦它到位,它將幫助您巧妙地管理所有的庫/程序/測試編譯步驟。 – jpo38

+0

我相信如此(聽到很多關於它的好傳聞)。我應該如何學習?是谷歌搜索「視覺工作室cmake教程」聽起來OK? – javaLover

相關問題