![](/img/trans.png)
[英]Error C1083 Cannot open include file: 'opencv2\opencv.hpp' in VS 2015
[英]Visual Studio 2012: 'opencv2/opencv.hpp' : No such file or directory (C1083)
這個問題問了好幾次了,有一些答案,但是這個問題比較具體,附加目錄路徑設置正確(找到文件)。
盡管如此,我還是在構建我的項目時出現以下錯誤:
fatal error C1083: Cannot open include file:
'opencv2/opencv.hpp': No such file or directory
但我可以右鍵單擊該文件並在 Visual Studio 2012 中打開它?
我試過:
1)指定完整路徑:WORKS!
#include <D:\frameworks\opencv_2_4\build\include\opencv2\opencv.hpp>
2) 將文件放入 C:\\ 不起作用! (添加。添加的目錄)
3) 具有相同包含語法的空項目。 (添加。添加的目錄)。 作品!
4)我用CMake配置了同一個項目的VS2010版本,我也有同樣的問題。
任何提示可能導致此錯誤的原因?
打開 Configuration Properties > C/C++ > General ,並編輯字段 Additional Include Directories 以添加以下 3 個路徑(用於標題): C:\\OpenCV2.3\\build\\include\\opencv C:\\OpenCV2.3\\build\\包括 \\opencv2 C:\\OpenCV2.3\\build\\include
project property => C/C++ => General => Additional include Directories => "把你的openCV文件夾中的庫地址例如:C:\\opencv\\build\\include 如下圖所示
在我的情況下,問題與導出的類有關。
我有 2 個 VS 項目。 讓我們將它們命名為 A 和 B。項目 A 使用項目 B 中的類; 項目 B 使用 OpenCV 類。 項目 A 沒有使用(都沒有鏈接)OpenCV。 (你可以想象項目 A 通過項目 B 使用 openCV)。
但是如果 B 的任何導出類(由 A 使用)有一個 OpenCV 類型的私有成員(例如 cv::Mat),在這種情況下,錯誤 C1083 就會出現,盡管我在項目 B 中正確鏈接了 openCV。
我的解決方案是小心包含在項目 B 的導出類的 *.hpp 文件中。
希望它有用。
除了現有的答案。 嘗試改變
<opencv2/core.hpp>
到
"opencv2/core.hpp".
由於我運行的是 64 位窗口 10,visual studio Professional 2017,我按照以下步驟進行修復:
項目 > 屬性 - > 將平台更改為 x64
項目屬性 > C/C++ -> General -> Additional include Directories ->{DIR}{PATH}\\opencv\\opencv\\build\\include
項目屬性 > C/C++ -> 所有選項 -> 附加包含目錄 ->{DIR}{PATH}\\opencv\\opencv\\build\\include
項目屬性> Linker -> Input -> Additional Dependencies -> Edit.. -> 輸入'opencv_world330d.lib' -> OK -> OK
這很有趣,但似乎 Visual Studio 找不到 rigt 頭文件僅僅是因為 Opencv2 文件夾中沒有 Opencv2 文件夾我的意思是在閱讀源代碼時
#include <opencv2/core/core.hpp>
並遵循包含目錄位置,因此
$(OPENCV_DIR)\\build\\include\\opencv2
他會嘗試找到一些
$(OPENCV_DIR)\\build\\include\\opencv2\\opencv2\\core\\core.hpp
他永遠找不到僅僅因為基本目錄不匹配
要解決這個問題,只需從包含指令中刪除基本目錄(opencv2):
#include <core.hpp>
我希望這個能幫上忙
您必須更改 Project > Properties -> 將平台更改為 x64 並再次設置 bin、lib 和 include 文件夾。
在此之后,您還必須將“解決方案平台”選項卡從 x86 更改為 x64。
在此之后,您將能夠使用 OpenCV。
如果你把標題放在你的項目中。 正如@CalaveraLoco 的回答。 可以使用相對路徑來訪問標頭。
但最好將項目文件夾路徑包含在您的項目設置中。
Properties
。C/C++
General
$(ProjectDir);
Addition Include Directories
在 Windows 上:
當您調試應用程序時,請使用“x64”模式
這適用於 VS2015,希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.