VS2008中"fatal error C1083:無法開啟包括檔案:“Stdafx.h”: No such file or directory”
錯誤型別1:
環境:VS2008
語言:C++
下午出了一個非常可惡的問題,我的一個基於MFC 對話方塊的程式因為預編譯標頭檔案stdafx.h的原因始終無法編譯通過。 由於程式整體是需要預編譯標頭檔案的。因此工程內所有cpp檔案通通都包括了#include stdafx.h。
我自己寫的檔案放在工程資料夾下自建的一個資料夾裡。比如工程名DynamicPathPlan, 我的檔案SamplePredictModel.h、SamplePredictModel.cpp放在 "C:/當前的實際機器人程式碼/DynamicPathPlan_SelfLoc/DynamicPathPlan/SelfLoc"資料夾裡面。而MFC自動生成的stdafx.h是放在工程資料夾下面。同時在SelfLoc資料夾下面還有若干自己寫的類檔案。其他的類中cpp檔案也都有#include stdafx.h,而且都沒有錯。獨獨是這麼一個檔案SamplePredictModel.cpp 中報錯:"fatal error C1083: 無法開啟包括檔案:“Stdafx.h”: No such file or directory"( 我不明白為什麼它報錯,同一目錄下其他的檔案都沒有報錯,當然如果在同目錄這些正常的檔案上嘗試通過右擊"#include stdafx.h"以開啟stdafx.h是不能開啟的)。
如果在工程屬性中設定不使用預編譯頭當然是可以避免這一問題的,但是僅僅因為這一個檔案就要去掉所有其他檔案中的stdafx.h 實在不划算,而且對話方塊檔案中還是需要stdafx.h的。因此工程部使用預編譯頭是不行的。 我嘗試將包含語句改為 #include ../stdafx.h VC報錯說是我沒有新增stdafx.h。失敗。網上找了n多看,都不得要領。 正好想到解決方案管理器中可以給每個檔案設定是否使用預編譯頭。 因此將整個工程設為使用預編譯頭,再將SamplePredictModel.cpp 單獨設為不使用預編譯頭。然後刪掉#include ../stdafx.h。 於是。。。。整個世界清靜了。。。。編譯通過。 結論1. 工程屬性中的預編譯頭設定相當於給所有工程中的檔案都進行了同樣設定。 然而我們自己給檔案再更改它的設定,從而實現了僅單個檔案不使用預編譯頭。
錯誤型別2:
用VS2008建立了一個工程,具體是啥忘記了,編譯時出現
fatal error C1083: 無法開啟預編譯執行標頭檔案:“Debug\xxxx.pch”: No s.........
Method1,rebuild all
Method2,專案-〉屬性-〉C/C++ -〉預編譯頭,修改 建立/使用預編譯頭 為 建立預編譯頭. VC.net中:修改:專案->屬性->C/C++ ->預編譯頭->不使用預編譯頭 謝謝,我重新生成後,這個Error就沒有了
謝謝各位朋友指點 VC預設在編譯StdAfx.cpp時生成預編譯標頭檔案,編譯其它cpp時使用預編譯標頭檔案,先編譯一下StdAfx.cpp即可.
錯誤型別3:
fatal error C1083: 無法開啟預編譯標頭檔案:“Debug\t.pch”: No such file or directory
本來就是一個很小的程式,自己在網上查了一下,還是不行。不得已向高手請教,可是高手卻沒空。自己就摸索著弄了起來,最後終於解決了,爽啊!
自己總結一下:
在MSDN中是這樣說的:
其實大部分原因是第一條檔案不存在,我的那個問題就是輸入第一類。這裡要涉及編譯頭的概念(以下是轉載)
預編譯頭的概念:
所謂的預編譯頭就是把一個工程中的那一部分程式碼,預先編譯好放在一個檔案裡(通常是
以.pch為副檔名的),這個檔案就稱為預編譯標頭檔案這些預先編譯好的程式碼可以是任何的
C/C++程式碼--------甚至是inline的函式,但是必須是穩定的,在工程開發的過程中不會
被經常改變。如果這些程式碼被修改,則需要重新編譯生成預編譯標頭檔案。注意生成預編
譯標頭檔案是很耗時間的。同時你得注意預編譯標頭檔案通常很大,通常有6-7M大。注意及
時清理那些沒有用的預編譯標頭檔案。
也許你會問:現在的編譯器都有Time stamp的功能,編譯器在編譯整個工程的時候,它
只會編譯那些經過修改的檔案,而不會去編譯那些從上次編譯過,到現在沒有被修改過
的檔案。那麼為什麼還要預編譯標頭檔案呢?答案在這裡,我們知道編譯器是以檔案為單
位編譯的,一個檔案經過修改後,會重新編譯整個檔案,當然在這個檔案裡包含的所有
標頭檔案中的東西(.eg Macro, Preprocesser )都要重新處理一遍。VC的預編譯標頭檔案
儲存的正是這部分資訊。以避免每次都要重新處理這些標頭檔案。
預編譯頭的作用:
根據上文介紹,預編譯標頭檔案的作用當然就是提高便宜速度了,有了它你沒有必要每次
都編譯那些不需要經常改變的程式碼。編譯效能當然就提高了。
預編譯頭的使用:
要使用預編譯頭,我們必須指定一個頭檔案,這個標頭檔案包含我們不會經常改變的
程式碼和其他的標頭檔案,然後我們用這個標頭檔案來生成一個預編譯標頭檔案(.pch檔案)
想必大家都知道 StdAfx.h這個檔案。很多人都認為這是VC提供的一個“系統級別”的
,編譯器帶的一個頭檔案。其實不是的,這個檔案可以是任何名字的。我們來考察一個
典型的由AppWizard生成的MFC Dialog Based 程式的預編譯標頭檔案。(因為AppWizard
會為我們指定好如何使用預編譯標頭檔案,預設的是StdAfx.h,這是VC起的名字)。我們
會發現這個標頭檔案裡包含了以下的標頭檔案:
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4
Common Controls
#include <afxcmn.h>
這些正是使用MFC的必須包含的標頭檔案,當然我們不太可能在我們的工程中修改這些頭文
件的,所以說他們是穩定的。
那麼我們如何指定它來生成預編譯標頭檔案。我們知道一個頭檔案是不能編譯的。所以我
們還需要一個cpp檔案來生成.pch 檔案。這個檔案預設的就是StdAfx.cpp。在這個檔案
裡只有一句程式碼就是:#include “Stdafx.h”。原因是理所當然的,我們僅僅是要它能
夠編譯而已?D?D?D也就是說,要的只是它的.cpp的副檔名。我們可以用/Yc編譯開關來指
定StdAfx.cpp來生成一個.pch檔案,通過/Fp編譯開關來指定生成的pch檔案的名字。打
開project ->Setting->C/C++ 對話方塊。把Category指向Precompiled Header。在左邊的
樹形視圖裡選擇整個工程
Project Options(右下角的那個白的地方)可以看到 /Fp “debug/PCH.pch”,這就是指
定生成的.pch檔案的名字,預設的通常是 <工程名>.pch(我的示例工程名就是PCH)。
然後,在左邊的樹形視圖裡選擇StdAfx.cpp.//這時只能選一個cpp檔案!
這時原來的Project Option變成了 Source File Option(原來是工程,現在是一個檔案
,當然變了)。在這裡我們可以看到 /Yc開關,/Yc的作用就是指定這個檔案來建立一個
Pch檔案。/Yc後面的檔名是那個包含了穩定程式碼的標頭檔案,一個工程裡只能有一個文
件的可以有YC開關。VC就根據這個選項把 StdAfx.cpp編譯成一個Obj檔案和一個PCH檔案
。
然後我們再選擇一個其它的檔案來看看,//其他cpp檔案
在這裡,Precomplier 選擇了 Use ⋯⋯⋯一項,標頭檔案是我們指定建立PCH 檔案的stda
fx.h
檔案。事實上,這裡是使用工程裡的設定,(如圖1)/Yu”stdafx.h”。
這樣,我們就設定好了預編譯標頭檔案。也就是說,我們可以使用預編譯頭功能了。以
下是注意事項:
1):如果使用了/Yu,就是說使用了預編譯,我們在每個.cpp檔案的最開頭,我強調一遍
是最開頭,包含 你指定產生pch檔案的.h檔案(預設是stdafx.h)不然就會有問題。如
果你沒有包含這個檔案,就告訴你Unexpected file end. 如果你不是在最開頭包含的,
你自己試以下就知道了,絕對有很驚人的效果⋯..
fatal error C1010: unexpected end of file while looking for precompiled
header directive
Generating Code...
2)如果你把pch檔案不小心丟了,編譯的時候就會產生很多的不正常的行為。根據以上
的分析,你只要讓編譯器生成一個pch檔案。也就是說把 stdafx.cpp(即指定/Yc的那個
cpp檔案)從新編譯一遍。當然你可以傻傻的 Rebuild All。簡單一點就是選擇那個cpp
檔案,按一下Ctrl + F7就可以了。不然可是很浪費時間的哦。
錯誤型別4:
1、用VC.NET編輯程式,按Ctrl+F7,出現下列錯誤:
fatal error C1083: 無法開啟預編譯標頭檔案:“Debug/UGFace.pch”: No such file or directory
解決方法:修改:專案->屬性->C/C++ ->預編譯頭->不使用預編譯頭 即可。
2、先開啟一個以前做了一下的工程,編譯通過,能執行。我就稍微修改了一下程式碼(只是修 改一個引數使寫入INI檔案的整數由0變為10),這時編譯通不過了,提示標頭檔案“stdafx.h”編譯錯誤(具體錯誤提示忘記了),錯誤位置指向應用程式類的原始檔的語句“#include "stdafx.h"”。不包含這個檔案是不行的,左看右看沒找出個原因來,甚至把程式碼改回原來的樣子,還是不行。到網上一查,發現這麼一段話:
學用Visual C++ 6.0的第一個例程就讓我出了錯.用嚮導生成第一個基於對話方塊的Project之後,我按照書([Visual C++面向物件與視覺化程式設計(第二版)]清華大學出版社pp76)上的例子開始了我的第一個程式,當我按照書上的源程式一個字一個字地輸進去之後,始終有一個錯誤:fatal error C1010: unexpected end of file while looking for precompiled header directive.找了無數次之後,我決定把嚮導生成的包括標頭檔案的語句:include"StdAfx.h"保留(而這之前我是把它刪掉了的,因為書上的例子沒有這句.)咦,這下就對了.這是為什麼呢?我百思不得其解.
來到我的VC原始碼目錄,我注意到每個Project每個Project下面的DEBUG資料夾都特別大,而且一個副檔名為 .pch的檔案佔去了絕大部分,我刪掉之好像對程式編譯執行沒有什麼影響.於是抱著對.pch檔案的好奇,我在網上搜到了我疑惑之處的解答.這就是VC++6.0給我們帶來的:預編譯標頭檔案.預編譯標頭檔案(一般副檔名為.PCH),是把一個工程中較穩定的程式碼預先編譯好放在一個檔案(.PCH)裡.這些預先編譯好的程式碼可以是任何的C/C++程式碼--甚至可以是inline函式,只是它們在整個工程中是較為穩定的,即在工程開發過程中不會經常被修改的程式碼.
為什麼需要預編譯標頭檔案?
一言以蔽之:提高編譯速度.一般地,編譯器以檔案為單位編譯,如果修改了一工程中的一個檔案則所有檔案都要重新編譯,包括標頭檔案裡的所有東西(eg.Macro巨集,Preprocessor預處理),而VC程式中,這些標頭檔案中所包括的東西往往是非常大的,編譯之將佔很長的時間.但它們又不常被修改,是較穩定的,為單獨的一個小檔案而重新編譯整個工程的所有檔案導致編譯效率下降,因此引入了.PCH檔案.
如何使用預編譯標頭檔案以提高編譯速度?
要使用預編譯標頭檔案,必須指定一個頭檔案(.H),它包含我們不會經常修改的程式碼和其他的標頭檔案,然後用這個標頭檔案(.H)來生成一個預編譯標頭檔案(.PCH)VC預設的標頭檔案就是StdAfx.h,因為標頭檔案是不能編譯的,所以我們還需要一個.CPP檔案來作橋樑,VC預設的檔案為StdAfx.cpp,這個檔案裡只有一句程式碼就是:#include "StdAfx.h".接下來要用它生成.PCH檔案,涉及到幾個重要的預編譯指令:/Yu,/Yc,/Yx,/Fp.簡單地說,/Yc是用來生成.PCH檔案的編譯開關.在Project->setting->C/C++的Category裡的Precompiled Header,然後在左邊的樹形檢視中選擇用來編譯生成.PCH檔案的.CPP檔案(預設即StdAfx.cpp)你就可以看到/Yc這個開關,它表示這個檔案編譯了以後是否生成.PCH檔案(可能/Yc的c表示create)./Fp指令指定生成的.PCH檔案的名字及路徑(可能/Fp的p代表path)./Yu的u即use使用,工程中只要包括了.H檔案的檔案都會有這個/Yu指令.如果選擇自動Automatic...的話則原來為/Yc的地方就換成了/Yx指令.如果選擇自動,則每次編譯時編譯器會看以前有沒有生成過.PCH檔案,有則不現生成否則就再次編譯產生.PCH檔案.
注意:
A,實際上,由Appzard專案嚮導生成的預設的標頭檔案及CPP檔案StdAfx.h和StdAfx.cpp可以是任何名字的.原因很簡單.但如果你要這樣做就要記得修改相應的Project->setting...下的幾個預編譯指(/Yc,/Yu,/Yx,/Fp)的引數.
B.在任何一個包括了將要預編譯的標頭檔案而使用了.PCH檔案的工程檔案的開頭,一定必須要是在最開頭,你要包含那個指定生成.PCH檔案的.H檔案(通過.CPP檔案包括,預設為StdAfx.cpp),如果沒包括將產生我最開頭產生的錯誤.如果不是在最開頭包括將產生讓你意想不到的莫名其妙錯誤,如若不信,盍為試之?
C.預編譯檔案.PCH生成之很耗時間,而且生成之後它也很佔磁碟空間,常在5-6M,注意專案完成之後及時清理無用的.PCH檔案以節約磁碟空間.
D.如果丟了或刪了.PCH檔案而以後要再修改工程檔案時,可將指定的/Yc的.CPP檔案(預設為StdAfx.cpp)重新編譯一次即可再次生成.PCH檔案,不用傻傻的按F7或Rebuild All
照這麼說,我這種情況只要重新將“StdAfx.cpp”編譯一下就可以了,一試,馬上能編譯運行了。心裡不知道有多高興,因為以前碰到過幾次這樣的問題都不知道怎麼解決,只好重新建立一個相同的工程。
以前還碰到過另外一種情況(早就解決了的):新建一個工程,隨便找一個cpp檔案,按ctrl+f7系統將會提示:fatal error C1083: 無法開啟預編譯的標頭檔案:”Debug/xxx.pch”: No such file or directory(其中xxx是工程的名字)這種情況也是一樣的原因,為vc的stdafx.h標頭檔案未編譯所致。也可以這樣解決:先F7,編譯後再ctrf+f7。
看來什麼東西都要從原理入手,才能更容易地解決;
錯誤型別5:
預編譯標頭檔案
今天在改一個很大的程式,慢慢看,慢慢改。突然發現一個.c檔案,裡面什麼也沒有,
就幾個標頭檔案,我一看,我靠,這不是把簡單的問題搞複雜了嗎,隨手刪掉那個c檔案。
結果不能編譯了,我靠:
fatal error C1083: Cannot open precompiled header file: \'Debug/v13_3.pch\':
No such file or directory
怎麼rebuild all都不行。
上網查了一下,才搞懂了:
----------------總結------
如果工程很大,標頭檔案很多,而有幾個標頭檔案又是經常要用的,那麼
1。把這些標頭檔案全部寫到一個頭檔案裡面去,比如寫到preh.h
2。寫一個preh.c,裡面只一句話:#include "preh.h"
3。對於preh.c,在project setting裡面設定creat precompiled headers,對於其他
.c檔案,設定use precompiled header file
//
哈哈
我試了一下,效果很明顯,不用precompiled header,編譯一次我可以去上個廁所,用
precompiled header,編譯的時候,我可以站起來伸個懶腰,活動活動就差不多啦
---------轉載的文章----------
預編譯頭的概念:
所謂的預編譯頭就是把一個工程中的那一部分程式碼,預先編譯好放在一個檔案裡(通常是
以.pch為副檔名的),這個檔案就稱為預編譯標頭檔案這些預先編譯好的程式碼可以是任何的
C/C++程式碼--------甚至是inline的函式,但是必須是穩定的,在工程開發的過程中不會
被經常改變。如果這些程式碼被修改,則需要重新編譯生成預編譯標頭檔案。注意生成預編
譯標頭檔案是很耗時間的。同時你得注意預編譯標頭檔案通常很大,通常有6-7M大。注意及
時清理那些沒有用的預編譯標頭檔案。
也許你會問:現在的編譯器都有Time stamp的功能,編譯器在編譯整個工程的時候,它
只會編譯那些經過修改的檔案,而不會去編譯那些從上次編譯過,到現在沒有被修改過
的檔案。那麼為什麼還要預編譯標頭檔案呢?答案在這裡,我們知道編譯器是以檔案為單
位編譯的,一個檔案經過修改後,會重新編譯整個檔案,當然在這個檔案裡包含的所有
標頭檔案中的東西(.eg Macro, Preprocesser )都要重新處理一遍。VC的預編譯標頭檔案
儲存的正是這部分資訊。以避免每次都要重新處理這些標頭檔案。
預編譯頭的作用:
根據上文介紹,預編譯標頭檔案的作用當然就是提高便宜速度了,有了它你沒有必要每次
都編譯那些不需要經常改變的程式碼。編譯效能當然就提高了。
預編譯頭的使用:
要使用預編譯頭,我們必須指定一個頭檔案,這個標頭檔案包含我們不會經常改變的
程式碼和其他的標頭檔案,然後我們用這個標頭檔案來生成一個預編譯標頭檔案(.pch檔案)
想必大家都知道 StdAfx.h這個檔案。很多人都認為這是VC提供的一個“系統級別”的
,編譯器帶的一個頭檔案。其實不是的,這個檔案可以是任何名字的。我們來考察一個
典型的由AppWizard生成的MFC Dialog Based 程式的預編譯標頭檔案。(因為AppWizard
會為我們指定好如何使用預編譯標頭檔案,預設的是StdAfx.h,這是VC起的名字)。我們
會發現這個標頭檔案裡包含了以下的標頭檔案:
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4
Common Controls
#include <afxcmn.h>
這些正是使用MFC的必須包含的標頭檔案,當然我們不太可能在我們的工程中修改這些頭文
件的,所以說他們是穩定的。
那麼我們如何指定它來生成預編譯標頭檔案。我們知道一個頭檔案是不能編譯的。所以我
們還需要一個cpp檔案來生成.pch 檔案。這個檔案預設的就是StdAfx.cpp。在這個檔案
裡只有一句程式碼就是:#include “Stdafx.h”。原因是理所當然的,我們僅僅是要它能
夠編譯而已?D?D?D也就是說,要的只是它的.cpp的副檔名。我們可以用/Yc編譯開關來指
定StdAfx.cpp來生成一個.pch檔案,通過/Fp編譯開關來指定生成的pch檔案的名字。打
開project ->Setting->C/C++ 對話方塊。把Category指向Precompiled Header。在左邊的
樹形視圖裡選擇整個工程
Project Options(右下角的那個白的地方)可以看到 /Fp “debug/PCH.pch”,這就是指
定生成的.pch檔案的名字,預設的通常是 <工程名>.pch(我的示例工程名就是PCH)。
然後,在左邊的樹形視圖裡選擇StdAfx.cpp.//這時只能選一個cpp檔案!
這時原來的Project Option變成了 Source File Option(原來是工程,現在是一個檔案
,當然變了)。在這裡我們可以看到 /Yc開關,/Yc的作用就是指定這個檔案來建立一個
Pch檔案。/Yc後面的檔名是那個包含了穩定程式碼的標頭檔案,一個工程裡只能有一個文
件的可以有YC開關。VC就根據這個選項把 StdAfx.cpp編譯成一個Obj檔案和一個PCH檔案
。
然後我們再選擇一個其它的檔案來看看,//其他cpp檔案
在這裡,Precomplier 選擇了 Use &8943;&8943;&8943;一項,標頭檔案是我們指定建立PCH 檔案的stda
fx.h
檔案。事實上,這裡是使用工程裡的設定,(如圖1)/Yu”stdafx.h”。
這樣,我們就設定好了預編譯標頭檔案。也就是說,我們可以使用預編譯頭功能了。以
下是注意事項:
1):如果使用了/Yu,就是說使用了預編譯,我們在每個.cpp檔案的最開頭,我強調一遍
是最開頭,包含 你指定產生pch檔案的.h檔案(預設是stdafx.h)不然就會有問題。如
果你沒有包含這個檔案,就告訴你Unexpected file end. 如果你不是在最開頭包含的,
你自己試以下就知道了,絕對有很驚人的效果&8943;..
fatal error C1010: unexpected end of file while looking for precompiled
header directive
Generating Code...
2)如果你把pch檔案不小心丟了,編譯的時候就會產生很多的不正常的行為。根據以上
的分析,你只要讓編譯器生成一個pch檔案。也就是說把 stdafx.cpp(即指定/Yc的那個
cpp檔案)從新編譯一遍。當然你可以傻傻的 Rebuild All。簡單一點就是選擇那個cpp
檔案,按一下Ctrl + F7就可以了。不然可是很浪費時間的。
例如:
加了一個對話方塊類檔案,重新編譯後出現編譯錯誤:
d:\center\lkdraw\codlg.cpp(4) : fatal error C1083: Cannot open precompiled header file: 'Debug/LkDraw.pch': No such file or directory
codlg.cpp (4)行是如下語句:#include "stdafx.h"
但我的stdafx.h 檔案明明在,而且其它的對話方塊檔案一樣的寫法卻沒錯誤。
請問如何解決?
在選單project-settings-c/c++ 中的Project Options 中把/Fp"Debug/LkDraw.pch"刪掉,成功搞定。
相關推薦
VS2008中"fatal error C1083:無法開啟包括檔案:“Stdafx.h”: No such file or directory”
錯誤型別1: 環境:VS2008 語言:C++ 下午出了一個非常可惡的問題,我的一個基於MFC 對話方塊的程式因為預編譯標頭檔案stdafx.h的原因始終無法編譯通過。 由於程式整體是需要預編譯標頭檔案的。因此工程內所有cpp檔案通通都包括了#include st
c++ include包含工程目錄下的.h檔案,報錯:fatal error C1083: 無法開啟包括檔案:“Sales_item.h”: No such file or directory
背景:刷c++primer的題目,將下載的某個標頭檔案拖拽到自己建立的工程目錄下,在自己新建的原始檔中include包含時,報無法開啟檔案 明明有檔案 為什麼說無法開啟呢 於是到本地的工程目錄中開啟一看,果然沒有這個檔案 說明通過滑鼠拖拽檔案進入到工程樹上面,檔案並沒
error C1083: 無法開啟包括檔案: “pyconfig.h”: No such file or directory (..\..\src\caffe\layer_factory.cpp)
問題:在編譯libcaffe.lib時,會提示 error C1083: 無法開啟包括檔案: “pyconfig.h”: No such file or directory (..\..\src\caffe\layer_factory.cpp) D:\NugetPackages\boost.1
編譯錯誤 無法開啟包括檔案:“SDKDDKVer.h”: No such file or directory
本機安裝了兩個版本的VS就可能會出現這個編譯錯誤, 比如我機器上同時裝了VS2012和VS2008. VS2012中關於Windows SDK的路徑巨集定義和VS2008不同,而在某種情況下VS2008的配置串擾到了VS2012. VS2012繼承了VS2008的Inclu
vs2012無法開啟包括檔案:“winsdkver.h”: No such file or directory
vs2012用著好好的 突然出現了這個問題“無法開啟包括檔案:“winsdkver.h”: No such file or directory ” 這明明是系統檔案,怎麼就是不能識別了,於是上網各種百度Google,嘗試了很多方法,終不能解決,比如有說沒有 SDK下的檔案,
vs專案中fatal error C1083: 無法開啟原始檔“xxxx.cpp”,no such file c1xx檔案
筆者是由於來回把某個原始檔換了好幾次位置,結果後來出現fatal error C1083: 無法開啟原始檔“xxxx.cpp”,no such file c1xx檔案錯誤,但是專案中路徑設定全對,只是在編譯時才會出問題。轉自:https://blog.csdn.ne
解決fatal error C1083: 無法開啟包括檔案:“opencv2/core/cvdef.h”: No such file or directory問題
無法開啟可能是因為標頭檔案路徑配置問題的原因。程式碼可能是你複製貼上的。比如#include "opencv2/core/cvdef.h"。是在人家的opencv2目錄下,而你的並不是。把路徑改過來就可以了。首先 在我的電腦裡找這個檔案在哪裡 找到了就複製地址。
vc++常見錯誤之二:“fatal error C1083: ”無法開啟包括檔案
這個問題產生的情況有多種,解決方法也有多種。我集合了網上的各種可能,可能不全,希望對你有用。。。。。。。。 其一: 步驟1:定位報“fatal error C1083: ”錯誤的檔案,找到它所在的目錄。 步驟2:新增該專案的附加路徑 。如圖所示: 1)右鍵檢視該專案的
“fatal error C1083 ”無法開啟包括檔案
步驟1:定位報“fatal error C1083: ”錯誤的檔案,找到它所在的目錄。 步驟2:新增該專案的附加路徑 。如圖所示:1)右鍵檢視該專案的屬性 2)點選配置屬性——〉 C/C++ ——〉 常規 ——〉 附加包含目錄——〉將報錯檔案所在目錄新增進去 3) 將專案的
vs出現 fatal error C1083: 無法開啟包括檔案: “sys/socket.h”: No such file ....
windows下winsock.h/winsock2.h linux下sys/socket.h不同平臺標頭檔案不一樣#include <winsock.h> 或者 #include <
fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
When you start a new Win32 console project (File, New, Project, ...) do not select the "Empty Project" checkbox. When that checkbox is of
gcc編譯報錯 checking whether the C compiler works... no 中的 error trying to exec 'cc1': execvp: No such file or directory解決辦法
1 首先檢查報錯原因是execvp: No such file or directory 因此要將/etc/profile的export PATH指向gcc的lib路徑中的cc1檔案 例如我的cc1檔案在/usr/lib64/gcc/x86_64-suse-linux/4.8/ 則輸出 export P
fatal error C1083: 無法打開包括文件:“xx/xx.h”: No such file or directory
bsp 沒有 解決 通過 class 方法 win32 內存 win 路徑包含都正確,可是怎麽都編譯不通過。 解決方法:項目屬性 --》 配置屬性 --》 常規 --》平臺工具集,選擇帶X64的那個就好了,之前選的是win32,因為我的筆記本是64位的。 x86
IntelliSense: 無法開啟原始檔 "···.h" 或者 error C1083: 無法開啟包括檔案: “···.h”
在配置PCL庫時出現了此類問題,經過實操確定問題出在包含目錄上。按照帖子配置也許並不可靠,比如筆者所用到的帖子就缺少了好幾個include,並且有幾個路徑過短。這裡直接上圖,說明問題。筆者利用一下包含目錄,配置成功vs2013,也用相似路徑配置成功了VS201
呼叫G2O,編譯的時候提示:error C1083: 無法開啟包括檔案: “sys/time.h”
問題 在引用了G2O的專案中,編譯時提示 錯誤 81 error C1083: 無法開啟包括檔案: “sys/time.h”: No such file or directory c:\program
cocos2d-x 移植到android中編譯的一些問題:fatal error: Box2D/Box2D.h: No such file or directory"
cocos2 app nal get dsc err 2dx ros blue 1、fatal error: Box2D/Box2D.h: No such file or directory" 須要加入box2d庫的支持,改動android.mk
fatal error C1083 Cannot open include file 'iostream.h' No such file or directory 的解決方法
VC++6.0 中的一段程式,有用到iostream.h中的標準輸入輸出流,直接用 VS2005編譯器編譯的時候報錯“Cannot open include file: 'iostream.h': No such file or directory”。 舊的原始檔如下:
fatal error C1083: Cannot open include file: 'SDKDDKVer.h': No such file or directory
分析:1. 可能是轉換或升級 VS 版本造成; 2. VC++ 路徑問題; 解決:1. 如VS 2012 就只有$(IncludePath) 這個選項. 而VS 2010 有$(WindowsSdkDir)include 等,修改 屬性->VC++ Include
fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory
問題: 我在為python安裝skimage模組時出現編譯錯誤,如下, skimage\external\tifffile\tifffile.c(75) : fatal error C1083: Cannot open include file: ‘stdin
Qt之opengl:錯誤: 無法開啟包括檔案:“gl/glut.h”: No such file or directory
我使用的是vs2008,相信vs2005應該跟這個步驟差不多,執行的時候總是提示:fatal error C1083: 無法開啟包括檔案:“GL/glut.h”: No such file or directory這個時候就要進行相應的如下操作:下載GLUT工具包,然後如下: