6

私は一日中、C /C++用のWindows7にVisualStudio2010用のOpenCV(バージョン2.4.1および2.4.2)をインストールしようとしています。

私はこのチュートリアルに従っています:http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html

サードパーティソフトウェアのインストールをスキップしました(ここからのpython 2.7とzlibを除く:http://gnuwin32.sourceforge.net/packages/zlib.htm)。

cmakeを実行し、openCVビルドディレクトリからopenCV.slnを開き、Visual Studioが読み込まれるのを待ってから、ビルドします。Visual Studioは200百のエラーを出しますが、これは次の2つが何度も繰り返されます。

エラーC1083:インクルードファイルを開くことができません:'unistd.h':そのようなファイルまたはディレクトリはありません

エラーLNK1104:ファイルを開くことができません'.... \ lib \ Debug \ opencv_core241d.lib'

「OpenCVビルドディレクトリ」/bin/ Releaseには、*。exeファイルは含まれていません。*。pdbファイルがたくさん含まれています。その中にcontours.pdbがあります。チュートリアルでは、contours.exeが表示されるはずだと書かれています。

* .exeファイルがないため、ビルド中に発生する2つのエラーが重大であることを理解しています。それらを解決するのに役立つアイデアがあればありがたいです。

4

3 に答える 3

5

ビルド手順の次の解釈は、ビルドに役立ちます。

  1. cmake をインストールします - これはすべてのプラットフォームに必要です

  2. 解凍したディレクトリに cd し、release (または他の名前) という新しいディレクトリを作成します。

  3. このディレクトリから、実行しますcmake ..

  4. リリース ディレクトリにOpenCV.slnファイルがあるはずです。

  5. これを Visual Studio で開き、ビルドを実行します。

  6. さあ、Opencvを楽しんでください

于 2012-07-18T04:47:30.100 に答える
2

私もいくつかの問題に遭遇しました-ドキュメントは少し古くなっています。

このソリューションは、次のチュートリアルに基づいています: http://opencv.willowgarage.com/wiki/VisualC%2B%2B_VS2010_CMake

Visual C++ 2010 Express で動作する opencv 2.4.2 の hello world の例を取得するために行った正確な手順は次のとおりです。

ソースコードをつかむ

opencv ダウンロード.

opencv を C:\ に抽出します。

バイナリのビルド

cmake ダウンロード. cmake GUI を開きます。

ソースコードはどこにありますか: C:/opencv

バイナリをビルドする場所: C:/opencv/build

[構成] をクリックして、ジェネレーターとして [Visual Studio 10] を選択します。[生成] をクリックします。

C:\opencv\build に OpenCV.sln が表示されます。

VS C++ Express でソリューション ファイルを開き、ビルドします。

Hello World プロジェクトのセットアップ

VS で新しいプロジェクトを作成します。コンソール アプリケーションを選択し、プリコンパイル済みヘッダーにチェックを入れたままにします。ソリューション ファイルを右クリックし、プロパティを選択します。

[VC++ ディレクトリ] ウィンドウで、次を追加します。

インクルード ディレクトリ: C:\opencv\build\include;C:\opencv\build\include\opencv;C:\opencv\build\include\opencv2

ライブラリ ディレクトリ: C:\opencv\build\lib\Debug

ソース ディレクトリ: C:\opencv\build\include

C++ -> Linker -> Input で、Additional Dependencies に以下を追加します。

opencv_core242d.lib
opencv_highgui242d.lib

ハローワールドコンテンツ

チュートリアルで提案されている内容を次のように変更します。

#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
        IplImage *img = cvLoadImage("funny-pictures-cat-goes-pew.jpg");
        cvNamedWindow("Image:",1);
        cvShowImage("image:",img);

        cvWaitKey();
        cvDestroyWindow("Image:");
        cvReleaseImage(&img);

        return 0;
}

イメージ (または任意のイメージ) をプロジェクト ディレクトリに配置します。

ビルドしてデバッグをクリックすると、動作するはずです。これが誰かに役立つことを願っています。

于 2012-07-23T18:34:42.733 に答える
1

I can't put comment so i have to put as an answer.

@go4sri I followed what you said and compile OpenCV with visual studio 2010 but I don't know how to configure the property file and what folder to put in Library directory, include directory... I need some help.

At the moment I put :

C:\opencv\build\include in Include directory

C:\opencv\Release\lib\Debug in the Library directory. (I build into the Release folder)

But i get unresolved external symbol.

 error LNK2019: unresolved external symbol "public: static class cv::MatExpr __cdecl  cv::Mat::zeros(int,int,int)" (?zeros@Mat@cv@@SA?AVMatExpr@2@HHH@Z) referenced in function "public: void __thiscall CtestDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CtestDlg@@QAEXXZ)

EDIT 1:

I fixed the problem by adding .lib in the input linker->input-> additional dependencies but now I have another problem. It tells me that it can't find the dll opencv_core242d.dll.

EDIT 2:

Putting all dll in the release (for release) or debug (for debug dll) resolve the problem but I don't understand why i have to do that. It can't find itself where are dlls ??

于 2012-07-19T00:56:34.767 に答える