0

有時候知道編譯器是否需要預編譯頭文件以及如何調用頭文件會很有用。我的目標是增加一些預處理器指令是這樣的:如何通過預處理器指令檢查編程是否在Visual C++中需要預編譯頭文件?

#ifdef REQUIRES_PRECOMPILED_HEADER 
#include PRECOMPILEDHEADER_FILE 
#endif 

所以我的問題是:是否有預定義變量,如REQUIRES_PRECOMPILED_HEADERPRECOMPILEDHEADER_FILE

+1

如果存在,則會列出[此處](http://msdn.microsoft.com/en-us/library/b0084kay.aspx)。 – ildjarn

+0

您確定這是預定義變量的完整列表嗎?如果是這樣,答案將是'不'。但據我所知微軟文檔有時不完整或過時。 –

+0

答案確實不是。約定是stdafx.h。但創建自己的項目,使其成爲一個靜態的lib項目。 –

回答

1

假設你的源文件不需要包含在預編譯頭文件中的任何頭文件。因此,如果您試圖將源文件包含在其他源文件使用預編譯頭文件的項目中,只需確保預編譯頭文件是turned off for yours

只需選擇您的源文件的屬性,並在「預編譯標題」下選擇「不使用預編譯標題」。

+0

好的,以簡單的方式解決問題。 (我通常避免使用預編譯頭文件,所以我不太習慣它們,謝謝你的提示。) –

1

支持他人使用預編譯頭文件不是你的任務。他們可以將你的頭添加到他們的預編譯頭中,或者不是。你只是試圖爲他們做這件事而製造麻煩。

所以,問題解決了:不這樣做。

這是沒有必要的,它創造了麻煩。