現在、3DTK(http://slam6d.sourceforge.net/)のハフ変換面検出器を使用しようとしています。 EXPORT_SHARED_LIBSオプションでコンパイルしようとすると、cxspare_sプロジェクトでリンカーエラーが発生します。ハフ変換面検出器3DTK
1>cs_convert.obj : error LNK2019: unresolved external symbol 'cs_dl_spalloc' referenced in function 'cs_l_real'
1>cs_convert.obj : error LNK2019: unresolved external symbol 'cs_ci_spalloc' referenced in function 'cs_i_complex'
1>cs_convert.obj : error LNK2019: unresolved external symbol 'cs_cl_spalloc' referenced in function 'cs_l_complex'
spalloc機能はsuitesparse \パス3DTK \ 3rdparty \ cxsparse-4.4.4でcs.hヘッダーファイルで定義されているが、彼らは実装されていないようです。少なくとも私はどこにでもそれらを見つけることができません。
静的ライブラリのコンパイルは完全に機能します。
私はOpenCVの3.10
- のVisual Studio 2015 Professionalの
- 3DTKリビジョン1179
- ブースト1.60
- でWindows 7上で実行しています
- のzlib 1.2.8
- VTK 7.0
誰が何が間違っているのか分かっていますか?
私は3DTK全体を必要としないので、私はHough Transform Plane Detector(https://github.com/midas-journal/midas-journal-820)もクローンしました。私はHoughPlanes.cppを削除し、vtkHoughPlanesをExportクラスとして定義して、* .libと* .dllファイルをコンパイルして完全に動作させました。 LIBに対してリンクすることも動作しますが、できるだけ早く私はvtkHoughPlanesヘッダーを含めるように、私は何百回も、同じエラーが表示されます。
Error C2666: "vtkOStreamWrapper::operator <<": 6 overloads have similar conversions C:\PROGRA~1\VTK\include\vtk-7.0\vtkTextProperty.h 44
ので、コンパイラが原因であいまいさの使用に< < operatoren挿入をストリーミングしている知っていません。すべてのエラーは、複数のVTKヘッダーで同じVTKマクロ "vtkGetVector3Macro"になります。しかし、エラーとマクロの定義はすべてVTK自体にあるので、どうすればいいですか?コード内でエラーの原因がわからないため、オペレータを明白にするために、コード内のどこにでも型キャストできません。プロジェクト自体にvtkOStreamWrapperのインスタンスはありません。
ハフ変換面検出器自体はかなり古いプロジェクトなので、VTK 7はもはや互換性がありませんか?
私はどんな考えにも感謝します。
はあなたが言及GitHubのプロジェクトのフォークはVTKのそれ以降のバージョンでサポートされるべき デイブ
この問題を解決できましたか?私は3DTKをコンパイルする際に同じ問題を抱えています。 – Afnan
申し訳ありません。私は時間がなくなっていたので、私は問題のために完璧に働いたPCL RANSAC平面検出を使いました。 – boFFeL