2016-07-26 18 views
0

現在、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のそれ以降のバージョンでサポートされるべき デイブ

+0

この問題を解決できましたか?私は3DTKをコンパイルする際に同じ問題を抱えています。 – Afnan

+0

申し訳ありません。私は時間がなくなっていたので、私は問題のために完璧に働いたPCL RANSAC平面検出を使いました。 – boFFeL

答えて

関連する問題