2013-11-26 30 views
0

我有一個正在構建爲DLL文件的項目。是否有可能從剩下的對象文件中生成一個靜態庫,將其作爲後期構建步驟使用lib.exe命令編譯爲dll?有沒有辦法告訴lib.exe使用特定區域中找到的所有對象文件創建一個靜態庫,而不需要單獨指定對象文件?視覺工作室製作靜態庫和DLL來自同一個項目

謝謝!

+0

我想你可以試試。根據LIB.EXE命令行幫助,您是否通過使用/ LIST來嘗試它?應該很容易編寫一個查找.obj文件的批處理腳本,然後使用適當的參數調用lib.exe,如果它實際上不起作用的話? – 2013-11-26 20:56:20

回答

0

Visual Studio對DLL和LIB使用幾個不同的預處理器定義。這可能適用於某些情況,但在一般情況下,這不是一個好主意。

做事情的標準方法是根據自己的喜好創建靜態庫項目。

如果你真的堅持,你可以調用另一個devenv.exe實例來構建它。這可以通過後期構建步驟完成。

通過提供的批處理文件打開VS shell並執行。

devenv SOLUTION_NAME /Build /project PROJECT_NAME /projectconfig CONFIG_NAME 

例子:

devenv ConsoleApplication.sln /build /project ConsoleApplication /projectconfig Debug|Win32