これまでOpenCV1.1を使っていたのですが類似画像検索をするのにHOG特徴量を用いたいと思い、HOG特徴量を求める関数のあるOpenCV2.3もインストールしました。
その際、OpenCV1.1はアンインストールして、最初からプログラムを書き換えないとダメなのでしょうか?ためしに今まで書いていたプログラムにOpenCV2.3のライブラリをインクルードしてみると、それだけで100個以上のビルドエラーが発生してしまいました。CとC++の違いによるものなのでしょうか?
あとPathの設定などもOpenCV1.1のときのものを残したまま、OpenCV2.3用のPathを追加しただけなのですが、大丈夫なのでしょうか?
解決方法がわかる方がいらっしゃれば、教えて下さい。よろしくお願いいたします。
No.1
- 回答日時:
具体的なエラーは?
使用環境は?
設定は?
1.1→2.xでヘッダファイルのディレクトリ構成等が変わってます。それに対応させてますか?
2.xでも、ほとんどのC言語用APIはそのまま残っており、コンパイルはほぼ変更無しに利用できるはずです。
ライブラリ名にバージョンを表す数字が入ってる場合があるので、リンクするファイルは変更が必要なケースがあります。
> Pathの設定などもOpenCV1.1のときのものを残したまま、OpenCV2.3用のPathを追加しただけ
このために、使いたい方のバージョンが使えてない、ということはありそうです。
具体的に、どんな変更をしたのですか?
この回答への補足
具体的には
#include <cv.h>
#include <highgui.h>
#include "opencv2/flann/flann.hpp"
int main (int argc, char **argv){
return 0;
}
を実行するとエラーが出ます。
#include "opencv2/flann/flann.hpp"
の一行を消せば正常に実行できます。
エラーはかなり長いので最後の4行をコピペすると
1>c:\opencv2.3\build\include\opencv2\core\types_c.h(958): error C2027: 認識できない型 'CvRect' が使われています。
1> c:\program files (x86)\opencv\cxcore\include\cxtypes.h(840) : 'CvRect' の宣言を確認してください。
1>c:\opencv2.3\build\include\opencv2\core\types_c.h(958): fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。
という感じです。
使用環境はWindows7、Microsoft Visual C++ 2010 Expressです。
うまく説明できてない気がしますが、よろしくお願いいたします...
No.2
- 回答日時:
まず、そのように大量にエラーが出るときにありがちなのは、
「最初の方の #includeとかプロトタイプ が間違ってて、そこから連鎖している」
というものです。
たとえば
「認識できない型 'CvRect' が使われています。」
とありますが、CvRectはcv.hあたりで定義されているはずです。
これが「未定義」となっているのなら、cv.hの読み込みに失敗したと考えるのが妥当です。
ということで、最後のエラーだけでは何の解決にもなりません。最初の方を見ましょう。
それから、OpenCVは、cv.h等だけを#includeして、"opencv2/flann/flann.hpp" のような個々のヘッダは#includeしないのが普通の使い方です。これが必要、ということは、cv.hが1.1のものになっているのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのOpenCVを自動インストールするプログラム 1 2022/09/02 08:22
- Windows 10 pathが通らない 2 2023/03/27 11:28
- C言語・C++・C# C言語 3 2022/10/04 15:07
- その他(SNS・コミュニケーションサービス) 【至急】Microsoft teamsログインできないループ・・ 3 2023/05/17 13:17
- 中学校 プロパンの特徴について 1 2022/10/23 13:27
- その他(ソフトウェア) Pakki með staðfærðu notendaviðmóti fyrir ís***って何? 1 2023/04/12 18:18
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- Windows 10 win 11 でonedriveを機能停止またはアンインストールしたい。 1 2022/11/15 11:00
- C言語・C++・C# 【CASLプログラム】 定数(80と55)を確保し、その和をGR1に、その差をGR2に求めるCASL 1 2022/12/16 01:17
- Windows 10 Windows PC 「スタート」の表示 1 2022/05/14 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
エラー: ‘inval’ の記憶サイズ...
-
C2146を回避するにはどうしたら...
-
Excelのエラーで困ってます。
-
win32api構造体引数の型指定に...
-
fatal error LNK1112
-
Handlesについて
-
ビルド失敗 指定されたファイ...
-
レコードセットをcloseする所で...
-
MakeSureDirectoryPathExists
-
バッチからsqlplusの接続エラー...
-
入れ子になっている構造体配列...
-
左側がクラス、構造体、共用体...
-
デバッグ中のエラーのことで教...
-
fortranでプログラムを実行する...
-
include<wtsapi32.h>でエラーが...
-
VB2008で定数に色の設定をした...
-
不正なメモリ領域へのアクセス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
バッチからsqlplusの接続エラー...
-
fortranでプログラムを実行する...
-
HEWを使用しているのですが、こ...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
BC30002: 型 'ListItem' が定義...
-
Handlesについて
-
sys/time.hのインクルードがで...
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
RightとLeft関数のライブ...
-
multiple definitionというエラー
-
WindowsからLinuxへの移植
-
HANDLEの宣言でのエラー
-
レコードセットをcloseする所で...
おすすめ情報