![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
今、練習でhttp://gihyo.jp/dev/feature/01/opencv/0004こちらのオブジェクト検出器を練習しているのですが
1>------ ビルド開始: プロジェクト: 練習, 構成: Debug Win32 ------
1>gihyo.obj : error LNK2019: 未解決の外部シンボル _cvReleaseHaarClassifierCascade が関数 _main で参照されました。
1>gihyo.obj : error LNK2019: 未解決の外部シンボル _cvHaarDetectObjects が関数 _main で参照されました。
1>C:\Documents and Settings\ユーザー名\デスクトップ\練習2\Debug\練習2.exe : fatal error LNK1120: 外部参照 2 が未解決です。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
エラーが出てしまって先に進めません。
何が悪いのか教えてください。
よろしくお願いします。
プログラムは
#include "cv.h"
#include "ml.h"
#include "highgui.h"
int main(int argc, char* argv[])
{
/* 画像のロード */
char imgfile[] = "Test/IMG_0532.jpg";
IplImage* image = cvLoadImage( imgfile, 1 );
/* オブジェクトのロード */
CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad( "gihyo_basic2.xml" );
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* objs;
int i;
/* オブジェクト検出 */
objs = cvHaarDetectObjects( image, cascade, storage, 1.15, 2, CV_HAAR_DO_CANNY_PRUNING );
/* オブジェクト領域の描画 */
for( i = 0; i < objs->total; i++ )
{
/* extract the rectanlges only */
CvRect obj_rect = *(CvRect*)cvGetSeqElem( objs, i );
cvRectangle( image, cvPoint(obj_rect.x,obj_rect.y),
cvPoint((obj_rect.x+obj_rect.width),
(obj_rect.y+obj_rect.height)),
CV_RGB(255,0,0), 3 );
}
/* 画像の表示 */
cvReleaseMemStorage( &storage );
cvNamedWindow ("result", CV_WINDOW_AUTOSIZE);
cvShowImage( "result", image );
cvWaitKey(0);
cvDestroyWindow("result");
cvReleaseHaarClassifierCascade( &cascade );
/* 結果の保存 */
cvSaveImage("result1.jpg", image);
cvReleaseImage( &image );
return 0;
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
C言語は、コンパイルしてできたオブジェクトファイルや、既にコンパイルしてあるライブラリを、最後に「リンク」という処理をして一つにまとめます。
このとき、必要な関数等が入ったファイルが無いと> error LNK2019: 未解決の外部シンボル
となります。
対処法は、必要なライブラリを追加することなのですが、その記事の第2回に書いてあります。
http://gihyo.jp/dev/feature/01/opencv/0002
> 今度は,ライブラリへのリンクをはります。
ただし、これはOpenCV 1.0当時のものです。
もし、他のバージョンを使っているのなら、ファイルの位置とかファイル名が変わっているケースがあります。
この回答への補足
回答ありがとうございます。プログラム自体ぜんぜん初心者なのでコンパイル等の情報は勉強になります。紹介してもらった記事もなんとなくで読んでいたのですがそれが大事だったんですね。
ライブラリの登録をいろいろなHPを見て試したらビルドはエラー無く終了したのですがメモリが足りないみたいなエラーが出ますプログラムの読み込みはプロジェクト_右クリック_既存の項目_ダウンロードしたSrcファイルのgiyo.cppを読み込んでビルドしてデバックしました何か他にあるのでしょうか?
Image.exe の 0x7c812afb でハンドルされていない例外が発生しました: Microsoft C++ の例外: cv::Exception (メモリの場所 0x0011ef10)。
がエラーです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ilink32について。'__setargv__...
-
opencvの練習
-
C言語のエラー LNK1120: 外部参照
-
パブリックシンボルとは?
-
DXライブラリ3DをVisual C++200...
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
VBScriptによるExecuteExcel4Ma...
-
<math.h>があるのにsqrtが・...
-
math.hに含まれる関数が使えない
-
eclipseでプログラムが実行でき...
-
C言語のPathFileExistsについて
-
gcc コンパイル killed
-
obj オブジェクトファイルがで...
-
VC6でCheckTokenMembershipが使...
-
C#のコマンドラインの分割コ...
-
MinGWのコンパイル方法(初心者)
-
eclipseでデバックするとエラー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
外部シンボルの未解決のエラー
-
LNK2001(Pro*c)
-
外部シンボル" ~~"は未解決で...
-
popen・pcloseについて
-
ステータスバーを作ろうとして...
-
コンパイルエラー
-
error LNK2001について
-
ilink32について。'__setargv__...
-
「外部シンボルが未解決」につ...
-
パブリックシンボルとは?
-
リンカのエラー
-
IP Helper APIを使うとエラーが...
-
VC++始めたんですが、エラーの...
-
ビデオキャプチャ(VC++超初心...
-
C言語でレジストリ取得「未解決...
-
C++でのエラー LNK2001
-
VC++2008でのサンプルプログ...
-
C++の関数をfortranから呼びた...
おすすめ情報