プログラミング環境をいろいろ移行しようとしたら,やたら詰まったのでメモ
1. OpenCV2.4.8からopencv_haartraining_engine.libが無くなった.
気付かずにリンクしようとして死んでました.
2. Visual Studio2013でEigenを使っていると特定の状況でコンパイラがクラッシュする.
template<typename T, int p> T det( const Eigen::Matrix<T,p,p>& cov ){ /* 計算 */ }
こんな感じのテンプレート関数を書くと,コンパイラがクラッシュして「上記の場所付近のプログラムを単純化するか変更してください」といってくる.
ダミーのテンプレート引数を追加した,以下のコードだとコンパイルできる.
template<typename T, int p, int q=0> T det( const Eigen::Matrix<T,p,p>& cov ){ /* 計算 */ }
Eigenのテンプレートが何か悪さをしているのだと思うけれど,詳細はよくわからない.
Visual Studio2012では問題なくコンパイルできていたので,構文エラーではないと思うのだけれど…