2011-11-16 129 views
-1

我正在嘗試使用opencv運行用於人臉檢測的程序。我已經正確地包括在性能,但仍然在程序給錯誤的OpenCV庫的路徑,未能生成可執行文件並跳過調試過程中的頭文件,並給這些消息:Visual Studio在調試代碼時跳過頭文件

1>  Add directive to 'stdafx.h' or rebuild precompiled header 
1>.\avi2.cpp(241) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? 
1>Build log was saved at "file://c:\Users\Abdullah\Documents\Visual Studio 2008\Projects\avi2\avi2\Release\BuildLog.htm" 
1>avi2 - 1 error(s), 10 warning(s) 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 
+0

你包括在「stdafx.h中」頭「avi2.cpp」?你是否重新編譯預編譯頭文件(「stdafx.cpp」)? –

回答

1

avi2.cpp配置爲使用預編譯的頭。要使此功能有效,編譯器希望第一個非空白/非註釋代碼行爲#include "stdafx.h"。它不在那裏,所以你得到這個錯誤。

要修復它,您可以禁用.cpp文件的預編譯頭文件錯誤,或添加#include使其工作。

0

如果您使用預編譯頭文件,則每個cpp文件必須具有第一個非註釋行#include "stdafx.h"。該行之前的所有行都被忽略爲

它必須是第一個包括。

this KB從微軟

+0

謝謝。這有助於 –

1

您的項目設置爲使用預編譯的頭,但沒有提供一個.. 項目中的每個文件應該有#include "stdafx.h"作爲第一行。

所以,這取決於你想使用與否,無論是添加包括,或更改項目設置爲「不使用預編譯頭」

+0

謝謝你的工作 –