2011-11-06 151 views
7

我正在嘗試使用MFC和ProC。
Functions.pc是我使用ProC語法連接到數據庫的地方。所以我在對話模型中包含'Functions.h',我想調用'Funtions.h'中的函數。現在我得到了這個錯誤。重建預編譯頭文件

Add directive to 'stdafx.h' or rebuild precompiled header 

我明白,我需要包括'stdafx.h''Functions.h'爲它工作。我做到了。它可以編譯,但是當我嘗試運行該程序時,它不會識別由創建的'Functions.cpp'創建的ProC的語法。我不太瞭解如何重建預編譯頭,因爲我不瞭解'stdafx.h'中的代碼。

+0

從哪個部分你說? – Azuan

+1

@tokwan:它在標籤wiki中。如果將鼠標懸停在標籤上,它會顯示它的wiki。 –

+0

[如何修復.pch文件在構建時丟失?]可能的重複(http://stackoverflow.com/questions/6096384/how-to-fix-pch-file-missing-on-build) –

回答

5

我自己找到了解決方案。我需要將該.cpp文件的屬性設置爲不使用任何預編譯頭文件。

+1

你是怎麼做的那? – Nick

+0

@尼克它已經有一段時間了,不能真正記住。但是您可以右鍵單擊cpp文件並相應地更改設置。我爲此使用Visual Studio。點擊鏈接截圖http://goo.gl/cKA8mZ – Azuan

+0

@Nick如何禁用CPP文件的預編譯頭文件:http://stackoverflow.com/a/9319031/1879699 – mrt

13

在Windows上使用預編譯頭的常用方法是

  1. 包括系統,第三方頭或不經常改變的報頭stdadx.h
  2. stdafx.cpp通常只包括stdafx。 h
  3. 所有項目cpp文件包括stdafx.h作爲第一個標頭
  4. 你的項目的頭文件不應包括stdafx.h中

要觸發預編譯的頭重建,

  1. 修改stdafx.h中,做增量構建
  2. 或做重建項目
1

在VS 2012中,您可以將項目,解決方案或源文件的屬性設置爲不使用預編譯頭。請參閱附加的圖形如何做到這一點... VS Turn off Precompiled Headers