2008-10-31 48 views
-2

我有一種情況,其他開發人員在我維護的項目中包含來自項目的源文件。這些文件的性質使得每個源文件在解釋環境中註冊一個「命令」,所以你所要做的就是鏈接一個新的源文件來註冊一個新的「命令」。我們不能將這些文件放在靜態庫中,因爲除非項目明確引用文件中的符號,否則鏈接器將優化文件。是否有可能從另一個文件中創建vs2008 C++項目導入源文件名?

看起來像一個可能的解決方案是在兩個項目中都有一個文件外部的「包含」兩個項目中的源文件名列表。問題是我不知道是否或如何做到這一點。建議,任何人?

回答

1

沒有理由源文件不能在多個項目中。只需將其添加爲VS中的「現有項目」即可。

如果您使用的是預編譯頭文件,那麼兩個項目都需要相應的設置才能使其工作。

您還可以在鏈接器放棄鏈接器時使用lib中的#pragma強制包含符號。

#pragma comment(linker, "/include:__mySymbol") 

#pragma comment的MSDN文檔和include選項

0

你可以簡單地寫一個只包含#include指令的源文件嗎?不過,我不確定如果VS檢查依賴文件是否已經更改,如果它們不在項目中。

+0

我曾經考慮過這一點,但也有如果包括在相同的「編譯單元」,可以發生碰撞的靜態符號(匿名的命名空間)。 – 2008-10-31 23:08:47

相關問題