プログラミングメモ

プログラミング環境をいろいろ移行しようとしたら,やたら詰まったのでメモ

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では問題なくコンパイルできていたので,構文エラーではないと思うのだけれど…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください