LIBTIFFとOpenCV 2.3.1 vs 2005でのTIFFコンパイルエラー
3210 ワード
プロジェクトでtiffライブラリを使用してコンパイルした結果、次のようにエラーが発生しました.
>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(744) : error C2143: syntax error : missing '}' before 'constant'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(744) : error C2059: syntax error : 'constant'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(748) : error C2143: syntax error : missing ';' before '}'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(748) : error C2238: unexpected token(s) preceding ';'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(750) : error C2059: syntax error : 'protected'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(753) : error C2575: 'prepare' : only member functions and bases can be virtual1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(754) : error C2575: 'finalize' : only member functions and bases can be virtual1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(755) : error C2270: 'getLeaf' : modifiers not allowed on nonmember functions1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(765) : error C2065: 'Feature' : undeclared identifier1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(765) : error C2133: 'cv::features' : unknown size1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(765) : error C2512: 'std::vector' : no appropriate default constructor available1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(807) : error C2061: syntax error : identifier 'RNG'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(809) : error C2061: syntax error : identifier 'RNG'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(811) : error C2535: 'void RandomizedTree::train(const std::vector<_Ty> &)' : member function already defined or declared
以上が一部のエラーです.
午後になってやっとエラーの原因を発見しました.コンパイルエラーではありません.vsヘッダファイルの処理がスマートではありません.
プロジェクトが膨大でopencv 2,3,1とtiffファイルを使用しているため、簡単なテストプログラムを作成し、win 32バックグラウンド制御プログラムを新規作成しました.ヘッダーファイルは次のように書かれています.
#include "stdafx.h"
#include#include #include #pragma comment(lib,"libtiff.lib")#include using namespace cv;
コンパイル後にパッケージにエラーが発生しました.ただし、順序を変更すると、次のようになります.
コンパイル成功!ちょっとした心得で皆さんのお役に立てればと思います
付帯:libtiffライブラリをどのようにコンパイルするか、このネット上には多くのものがあり、直接実行するのではなくvs 200のツールでコンパイルする必要があります-』cmd.そしてディレクトリの下にジャンプしてコンパイルします
これは直接試験のopencvです.0バンドのlibライブラリ.使用時にライブラリファイルパスとヘッダファイルパスを追加することに注意してください.次のようになります.
C:\Program Files\OpenCV\otherlibs\_graphics\lib
C:\Program Files\OpenCV\otherlibs\_graphics\include
>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(744) : error C2143: syntax error : missing '}' before 'constant'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(744) : error C2059: syntax error : 'constant'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(748) : error C2143: syntax error : missing ';' before '}'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(748) : error C2238: unexpected token(s) preceding ';'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(750) : error C2059: syntax error : 'protected'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(753) : error C2575: 'prepare' : only member functions and bases can be virtual1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(754) : error C2575: 'finalize' : only member functions and bases can be virtual1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(755) : error C2270: 'getLeaf' : modifiers not allowed on nonmember functions1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(765) : error C2065: 'Feature' : undeclared identifier1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(765) : error C2133: 'cv::features' : unknown size1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(765) : error C2512: 'std::vector' : no appropriate default constructor available1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(807) : error C2061: syntax error : identifier 'RNG'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(809) : error C2061: syntax error : identifier 'RNG'1>d:\opencv\build\my\install\include\opencv2\features2d\features2d.hpp(811) : error C2535: 'void RandomizedTree::train(const std::vector<_Ty> &)' : member function already defined or declared
以上が一部のエラーです.
午後になってやっとエラーの原因を発見しました.コンパイルエラーではありません.vsヘッダファイルの処理がスマートではありません.
プロジェクトが膨大でopencv 2,3,1とtiffファイルを使用しているため、簡単なテストプログラムを作成し、win 32バックグラウンド制御プログラムを新規作成しました.ヘッダーファイルは次のように書かれています.
#include "stdafx.h"
#include
コンパイル後にパッケージにエラーが発生しました.ただし、順序を変更すると、次のようになります.
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace cv;
#include <tiffio.h>
#include <tiff.h>
#include <tiffvers.h>
#pragma comment(lib,"libtiff.lib")
コンパイル成功!ちょっとした心得で皆さんのお役に立てればと思います
付帯:libtiffライブラリをどのようにコンパイルするか、このネット上には多くのものがあり、直接実行するのではなくvs 200のツールでコンパイルする必要があります-』cmd.そしてディレクトリの下にジャンプしてコンパイルします
これは直接試験のopencvです.0バンドのlibライブラリ.使用時にライブラリファイルパスとヘッダファイルパスを追加することに注意してください.次のようになります.
C:\Program Files\OpenCV\otherlibs\_graphics\lib
C:\Program Files\OpenCV\otherlibs\_graphics\include