2015-11-15 242 views
0

我有一個解決方案,它依賴於7zip的sfx。爲了保持整個解決方案(加上sfx)的管理和協調,我希望創建一個新項目來存放sfx使用的所有源文件,並且在構建時執行命令行,告訴7zip構建源代碼文件中的sfx,並放入輸出中,以便可以在同一解決方案中通過實際的Visual Studio項目引用它。使用命令創建Visual Studio項目

我想我可以通過使用Build事件並提供相應的宏來確定命令行,以確保7zip的輸出放置到具有適當名稱的目標文件夾中,以便其可以被其他VS項目正確引用。但是我不確定的是我需要使用什麼樣的Visual Studio項目或者告訴Visual Studio的步驟,在這個項目中不會有任何代碼要被編譯,並且它只需要執行我給出的腳本它。

我能想出最接近的是VS的Make項目,但我不知道這是否正確,因爲這與Make完全無關。

那麼,我需要使用什麼樣的Visual Studio項目模板?如果爲空,那麼我需要執行哪些配置,以便它不會嘗試尋找一些代碼文件進行編譯,而只是將腳本作爲解決方案構建的一部分執行?

回答

0

現在看來,使用C++ Makefile項目工作。我必須做一些配置:

1)我不得不指定項目的「配置類型」爲「實用程序」 2)我使用預生成事件並提供了一個命令來調用項目中包含的批處理文件。批處理文件然後處理所有事情。 3)通常情況下,不考慮非C++文件來確定是否需要構建或者它是否已更新。爲了確保在編輯批處理文件或其他密鑰文件時執行新的構建,我將文件的「文件類型」設置爲「MakeFile」。儘管它實際上並不是Make文件,但它確保對文件所做的任何編輯都會導致新的構建。

到目前爲止我發現的缺點是:

1)C++使用 「過濾器」,而不是文件夾。因此,保持文件在同一目錄結構中是一個大的PITA。可以「包含」文件,並在「過濾器」和磁盤上的實際目錄結構之間獲得一對一的映射,但這很煩人和乏味。希望這是一個C#項目

2)我有點擔心它將如何檢測新文件或其他文件的變化,我沒有明確設置爲「MakeFile」。我期望源代碼是穩定的,但我擔心當我意識到需要一個新文件並添加它時,我可能會忘記並沒有注意到包含新文件的構建不正確。

我不確定這是否是最好的方法,但這適用於我的目的 - 擁有一個項目來管理外部工具,作爲更大構建過程的一部分。

相關問題