プロが教えるわが家の防犯対策術!

こんばんは。
Win7のパソコンでOpenCVをVisual C++ 2010 Expressで使おうとしているものです。
パソコンについてあまり詳しくないため、質問させて頂きました。

OpenCVについて初心者なので、
「OpenCV プログラミングブック 第2版」という専門書を購入し、
書いてあるとおりにインストールや設定を行っていき、
この専門書のサポートHPに乗っているサンプルプログラムをコピーして、
「デバッグ開始」を選択して、さぁ実行してやろうという矢先に、
以下のメッセージが表示されて、進まなくなってしまいました。


「プログラム 'C:\Users\○○\documents\visual studio
2010\Projects\image\Debug\image.exe'を開始できません。

指定されたファイルが見つかりません。」(○○は私のユーザー名です。)


表示されたフォルダを確認してみたところ、確かにその場所にimage.exeなるものは
存在していませんでした。
これは、初期設定を行っている際に、この.exeが作成されないような
設定を行ってしまっているのでしょうか?

同じような症状、またはどうすれば改善できるか分かる方、
どうかご教授をお願い致します。

長文失礼致しました。

A 回答 (5件)

僕とこでもやってみたけど、あっさり成功しましたよ。


参考URLにプロジェクト一式置いておきます。
# 環境変数 OPENCV_HOME に OpenCV-install-dir.を設定してください。

参考URL:http://cid-07c558f8e11e708f.office.live.com/self …
    • good
    • 0
この回答へのお礼

ありがとうございます。

せっかくリンクを紹介してくださったのですが、
解決致しました。

また機会がありましたら宜しくお願い致します。

お礼日時:2011/06/18 01:39

> LINK : error LNK2001: 外部シンボル "_mainCRTStartup" は未解決



int WinMain(...) から始まるWindowsアプリケーションにもかかわらず、
コンソールアプリケーションとしてプロジェクトを作っていませんか?
あるいはその逆とか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

これが原因でした。
解決致しました!
迂闊でした・・・。ありがとうございます!

お礼日時:2011/06/18 01:36

> 1>LINK : fatal error LNK1104: ファイル 'highgui.lib' を開くことができません。


> ========== すべてリビルド: 0 正常終了、1 失敗、0 スキップ ==========

明らかに「失敗」しています。

コンパイルは成功したものの、
'highgui.lib' が見つからないのでリンクできていません。
    • good
    • 0
この回答へのお礼

ありがとうございました。

おかげで解決することができました!

お礼日時:2011/06/18 01:38

1>LINK : fatal error LNK1104: ファイル 'highgui.lib' を開くことができません。


というエラーメッセージの通り、highgui.libというライブラリファイルが見つけられなかったため、リンカーが実行ファイルを作成できなかったのです。

(1)まず、highgui.libを探してみてください。OpenCVのライブラリファイルのはずなので、OpenCVをインストールしたディレクトリの中にあるはずです。
(2)そのライブラリファイルのあるディレクトリへのパスが、環境変数LIB、VC++のオプション内のライブラリディレクトリ設定、ソリューションのプロパティでのリンカ内追加のライブラリディレクトリ、のいずれかに指定されているかどうか確認してください。
(3)環境変数LIBに記述されているのにリンクエラーになっている場合、VC++が環境変数変更前から起動している可能性があります。いったん終了してもう一度VC++を起動して再度ビルドしてみてください。

それでも現象が変わらない場合は補足願います。

この回答への補足

詳しい解説ありがとうございます。
このあたりの知識がないもので、非常に助かります。

先程も行ったことでしたが、
構成プロパティ⇒VC++ディレクトリの

インクルードディレクトリには
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\lib

を追記したのを再確認しました。

さらに、リンカー⇒入力の
追加の依存ファイルには、
;highgui.lib;cxts.lib;cv.lib;cxcore.lib;mi.lib;cvaux.lib;cvhaartraining.lib

を追記したのを再確認しました。

そして、もう一度リビルドをしてみたところ、以下のように状況が変わりました。


1>------ ビルド開始: プロジェクト: image, 構成: Debug Win32 ------
1>LINK : error LNK2001: 外部シンボル "_mainCRTStartup" は未解決です。
1>C:\Users\mish\documents\visual studio 2010\Projects\image\Debug\image.exe : fatal error LNK1120: 外部参照 1 が未解決です。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========


そしてやはり、失敗してしまいました。
何度も質問して申し訳ありませんが、思い当たる原因はありますでしょうか?

宜しくお願い致します。

補足日時:2011/06/16 05:33
    • good
    • 0
この回答へのお礼

ありがとうございました。

おかげさまで解決することが出来ました!

お礼日時:2011/06/18 01:37

コンパイルエラーは出てないんですよね?

この回答への補足

お早い回答ありがとうございます。

「ソリューションのリビルド」を選択



1>------ すべてのリビルド開始: プロジェクト: image, 構成: Debug Win32 ------
1>LINK : fatal error LNK1104: ファイル 'highgui.lib' を開くことができません。
========== すべてリビルド: 0 正常終了、1 失敗、0 スキップ ==========



「デバッグ開始」を選択



このプロジェクトは変更されています。
  image - Debug Win32

ビルドしますか?



「はい」を選択



ビルドエラーが発生しました。続行して、最後に成功したビルドを実行しますか?



「はい」を選択



先程のエラーが出現…。



といった感じです。
もしかして、これってコンパイル出来ていないんでしょうか…?
サポートHPから引っ張ってきたものをそのまま流用したので、
プログラムに間違いはないと思っていたのですが…。

補足日時:2011/06/16 04:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!