2015-10-20 118 views
1

在我們的項目中,我們的源代碼文件的目錄結構與我們的命名空間鏈接。例如,屬於命名空間MyNamespace_A的類Util將在文件 中實現.../MyNamespace_A/Util.cppVisual Studio C++項目的目標文件位置

現在,命名空間'OtherNamespace :: SubNamespace'也應該有一個Util類。它應該在文件 中執行.../OtherNamespace/SubNamespace/Util.cpp

沒有指定顯式目標文件(.cpp文件的屬性 - > C/C++ - >輸出文件 - >目標文件名)這會導致問題,因爲兩個目標文件將具有相同的名稱,並且默認情況下它們存儲在同一個目錄中(即'$(IntDir)')。

是否有自動機制讓我指定輸出文件的目錄結構應與源代碼目錄的結構相同? 我能否以與指定每個源代碼文件的目標文件名不同的方式解決問題?

+0

據我所知,沒有這樣的機制。我看到您的問題的唯一解決方案是將每個名稱空間的源代碼放入其自己的項目(對象庫或DLL)中。 – nv3

回答

2

右鍵單擊項目,並去......

屬性 - > C/C++ - >輸出文件 - >輸出文件名

然後輸入...

$(IntDir )/%(RelativeDir)/

這會將每個.obj文件放入源文件中的子文件夾中。

相關問題