みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

fatal error C1083: include ファイルを開けません というエラーが出ます

初心者です。ソースは以下の通りです。

#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"highgui.lib")

int _tmain(int argc, _TCHAR* argv[])
{
Ip1Image* img; //画像変数宣言
cvNamedWindow("画像表示"); // 表示ウィンドウの作成
img = cvLoadImage("Image.jpg"); //画像ファイルの読み込み
if(img == NULL){ //ファイルが読み込めない場合
printf("ファイルが読み込めません。\n");
cvWaitKey(0); //キー入力待機
return -1;
}
cvShowImage("画像表示", img); //表示ウィンドウに画像を表示
cvWaitKey(0); //キー入力待機
cvDestroyWindow("画像表示"); //表示ウィンドウの破棄
cvReleaseImage(&img); //画像領域の解放
return 0;
}


以上のソースをビルドすると、以下のようなエラーが出てしまって、うまくコンパイルすることができません。
1>------ ビルド開始: プロジェクト: ImageDisplay, 構成: Debug Win32 ------
1>コンパイルしています...
1>ImageDisplay.cpp
1>c:\users\g031f096\documents\visual studio 2008\projects\imagedisplay\imagedisplay\imagedisplay.cpp(5) : fatal error C1083: include ファイルを開けません。'cv.h': No such file or directory
1>ビルドログは "file://c:\Users\g031f096\Documents\Visual Studio 2008\Projects\ImageDisplay\ImageDisplay\Debug\BuildLog.htm" に保存されました。
1>ImageDisplay - エラー 1、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========


どのようにすれば通るのでしょうか?よろしくお願いします。開発環境は Visual C++ 2008 Express Editionです。

投稿日時 - 2009-12-14 15:17:16

QNo.5521905

すぐに回答ほしいです

質問者が選んだベストアンサー

フルパスを入れるというのは、この行を
「#include <cv.h>」この行を
「#include <C:\Program Files\OpenCV\cv\include\cv.h>」これに置き換えてコンパイルしてみてください。

という意味です。
これでも'No such file or directory'のエラーが出るなら別の理由が考えられます。
そのファイルへのアクセス権が無いとかなど・・・

投稿日時 - 2009-12-16 14:02:49

お礼

すいません。なんとか解決できました。どうもありがとうございました。

投稿日時 - 2009-12-17 11:20:43

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

以下の内容は本当にインクルードファイルの中身ですか?
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSdkDir)\include
$(FrameworkSDKDir)include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\ffopencv
C:\Program Files\OpenCV\ml\include

これプロジェクトプロパティの追加のインクルードパスか、オプションのインクルードパスにしか見えないのですが・・・
で、cv.hがある場所ですが・・・

>一応、cv.hはOpenCVのincludeのフォルダにあるようなんですが、開こうとすると不明なスコープとなってしまっています。
>そして一応、cvディレクトリにcv.hが入っているようなのですが・・・

この補足からフルパスが・・・
C:\Program Files\OpenCV\include\cv.h
C:\Program Files\OpenCV\cv\cv.h
のどちらかにあると推測できますが、この両方ともインクルードパスにはありません。

まず以下のようにフルパスにして、cv.hの正確な位置を把握してから、インクルードパスの設定を見直したほうがいいです。
#include <C:\Program Files\OpenCV\include\cv.h>

投稿日時 - 2009-12-15 15:23:12

補足

すいません。オプションのインクルードファイルの中身でした。申し訳ありません。
実際にインクルードファイルがあるのは
OpenCV>cv>include
で、このインクルードファイルの中にcv.hが入っています。

それからフルパスを入れる場所はどこにすればよいのでしょうか?
初心者過ぎて申し訳ないです・・・

投稿日時 - 2009-12-15 22:43:56

ANo.2

読み取れているとして、当該のインクルードファイルが
本当にどこにもないのか、それともどこかにあるのか、確認できますか?

そもそも、当該のインクルードファイルの名前は正しいのですね?

投稿日時 - 2009-12-14 15:59:21

補足

すべて本(OpenCV映像処理&解析)に書いてある通りにしているので、問題ないかとは思うのですが・・・

読み取れているというのは、このエラーを自分が理解しているかどうかということですか?
それすら危ういです

一応、cv.hはOpenCVのincludeのフォルダにあるようなんですが、開こうとすると不明なスコープとなってしまっています。


どのようにすればよいでしょうか。よろしくお願いします。

投稿日時 - 2009-12-14 17:20:56

ANo.1

>どのようにすれば通るのでしょうか?

どういうエラーメッセージが出ているかは読み取れていますか?

投稿日時 - 2009-12-14 15:56:59

補足

それからさきほどのコメントの補足なのですが、インクルードファイルの中は以下のようになっています。
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSdkDir)\include
$(FrameworkSDKDir)include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\ffopencv
C:\Program Files\OpenCV\ml\include

そして一応、cvディレクトリにcv.hが入っているようなのですが・・・

投稿日時 - 2009-12-14 17:57:35

あなたにオススメの質問