嘗試編譯一個小的C++程序
錯誤87致命錯誤C1189,當我得到一個錯誤:#錯誤:WINDOWS.H已經包括在內。 MFC應用程序不能#include c:\ program files \ microsoft visual studio 9.0 \ vc \ atlmfc \ include \ afxv_w32.h 16WINDOWS.H已經包括錯誤
我確信windows.h不包含在任何項目文件中。我正在使用Visual Studio 2008 IDE
任何原因爲什麼?
嘗試編譯一個小的C++程序
錯誤87致命錯誤C1189,當我得到一個錯誤:#錯誤:WINDOWS.H已經包括在內。 MFC應用程序不能#include c:\ program files \ microsoft visual studio 9.0 \ vc \ atlmfc \ include \ afxv_w32.h 16WINDOWS.H已經包括錯誤
我確信windows.h不包含在任何項目文件中。我正在使用Visual Studio 2008 IDE
任何原因爲什麼?
默認情況下,Visual Studio會用一個預編譯的頭文件來玷污你的程序,這個頭文件可能包含某些東西,包括windows.h。一定要在那裏辦理登機手續。
之所以爲什麼是因爲是包括Windows.h:編譯器沒有對你說謊。
轉到項目屬性 - >配置屬性 - > C/C++ - >高級並將Show Includes設置爲Yes。然後建立,編譯器會告訴你找到的每個包含的文件列表,並在訂貨它發現它,在此告訴你哪個文件最終包括WINDOWS.H
謝謝!我找到了包含windows.h的afxwin.h頭文件。不過,我需要使用我使用的AfxGetInstanceHandle的頭文件。所以,我會要求將它包括在內。 – coderGeorge 2011-03-22 14:13:06
嘗試,包括afxcoll.h之前stdafx .h。我有同樣的問題,並修復它。 請參閱http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/2ab6862f-0d90-467a-b283-f62f6aef96fe/的原始討論。
包括** afxcol.h **在** atlstr.h **之前在我的stdafx.h文件中爲我解決了這個問題 – riqitang 2014-01-09 16:58:02
#include "afxwin.h" // MFC core and standard components
#include "afxext.h" // MFC extensions
將這些添加到我的stdafx.h文件清理出錯誤..hope這有助於別人。
在您的項目中,轉至配置屬性 - > C/C++ - >預編譯頭。確保預編譯頭部設置設置爲使用(/ Yu)。
此設置「允許在構建期間創建或使用預編譯頭文件」。
我遇到的問題是「stdafx.h」文件被包含在「StdAfx.h」文件中,配置屬性 - > C/C++ - >預編譯頭文件中的文件名從未從「stdafx .h「改爲」StdAfx.h「。
發現包括afxwin.h正在拋出錯誤。然而,我確實需要afxwin.h AfxGetInstanceHandle()函數,我使用...有沒有解決方法? – coderGeorge 2011-03-22 14:35:51
你使用預編譯頭文件嗎?如果是這樣,你不能只是#include「stdafx.h」來拉入AfxGetInstanceHandle()的聲明嗎? – stijn 2011-03-22 20:13:23