2012-04-26 6 views
4

私は成功してcmakeを使用してバイナリツリーを構築していますhttp://pointclouds.org/documentation/tutorials/pcl_visualizer.php から、次のPCLの簡単なビューアの例を実行しようとしていますし、お勧めCmakelists.txtそれを構築する私は次のエラーが表示されます:ポイントクラウドライブラリ</p> <p>は生成後、私がしようと簡単な例リンクエラー

error LNK2019: unresolved external symbol "public: void __thiscall pcl::visualization::PCLVisualizer::initCameraParameters(void)" ([email protected]@[email protected]@@QAEXXZ) referenced in function "class boost::shared_ptr<class pcl::visualization::PCLVisualizer> __cdecl simpleVis(class boost::shared_ptr<class pcl::PointCloud<struct pcl::PointXYZ> const >)" ([email protected]@[email protected]@[email protected]@@@[email protected]@[email protected][email protected]@[email protected]@@[email protected]@@[email protected]@Z)` 

error LNK2019: unresolved external symbol "public: void __thiscall pcl::visualization::PCLVisualizer::addCoordinateSystem(double,int)" ([email protected]@[email protected]@@[email protected]) referenced in function "class boost::shared_ptr<class pcl::visualization::PCLVisualizer> __cdecl simpleVis(class boost::shared_ptr<class pcl::PointCloud<struct pcl::PointXYZ> const >)" ([email protected]@[email protected]@[email protected]@@@[email protected]@[email protected][email protected]@[email protected]@@[email protected]@@[email protected]@Z) 


error LNK2019: unresolved external symbol "public: bool __thiscall pcl::visualization::PCLVisualizer::setPointCloudRenderingProperties(int,double,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" ([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) referenced in function "class boost::shared_ptr<class pcl::visualization::PCLVisualizer> __cdecl simpleVis(class boost::shared_ptr<class pcl::PointCloud<struct pcl::PointXYZ> const >)" ([email protected]@[email protected]@[email protected]@@@[email protected]@[email protected][email protected]@[email protected]@@[email protected]@@[email protected]@Z) 

これらはほんのわずかです...私はcmakelists.txtに何かを見逃していますか?

cmake_minimum_required(VERSION 2.6 FATAL_ERROR) 

project(pcl_visualizer_viewports) 

find_package(PCL 1.5.1 REQUIRED) 

include_directories(${PCL_INCLUDE_DIRS}) 

link_directories(${PCL_LIBRARY_DIRS}) 

add_definitions(${PCL_DEFINITIONS}) 

add_executable (pcl_visualizer_demo pcl_visualizer_demo.cpp) 

target_link_libraries (pcl_visualizer_demo ${PCL_LIBRARIES}) 

助けていただければ幸いです。ありがとう

+0

UH!今何があったの?!?これは、一見醜い形式の質問です。 – karlphillip

+0

これを指摘していただきありがとうございます...これが今より良いことを願って:) – valentin

+0

よろしくお願いします。以前のバージョンにダウングレードしてもう一度お試しください。あなたが私たちに示した情報で、あなたの側で間違いを見ることはできません。 – karlphillip

答えて

3

私は64ビットマシンを実行していますが、私のコンパイラ(VS2010)は32ビット用に設定されていますので、64ビットポイントクラウドライブラリをアンインストールして32ビットバージョンをインストールする必要がありました。今それは動作します。レッスンで学んだこと:D

+0

コンパイラは32ビットまたは64ビットで使用できますが実際の違いは、Visual Studio 10 Win64ではなくCMakeジェネレータを設定する必要があることです)スタジオ10.これはあなたに64ビット設定のslnを与えるでしょうか、または32ビットのlibsをダウンロードするだけでどちらの方法も動作します.. :) – tfinniga

+0

私はVS 2017と32ビットpclをhttp: /unanancyowen.com/en/pcl18/。私はcmakeのコンパイルから成功した.slnを取得します。しかし、VS 2017で.slnをビルドすると、未解決のリンクエラーが発生します。理由は何ですか?詳細はここにも掲載されています - https: //stackoverflow.com/questions/45300979/viewing-3d-point-cloud-by-integrating-custom-c-api-with-generic-point-cloud-view –

0

PCLライブラリをリンクしていないようです。これは、CMakeを実行しているときに${PCL_LIBRARIES}が適切に設定されていない可能性があります。あなたは値をチェックするfind_packageコールの後、あなたのCMakeLists.txtファイルに

message("PCL_LIBRARIES - ${PCL_LIBRARIES}") 

を追加することができます。

CMake v2.8.8を使用している場合は、this bugが問題の原因になる可能性があります。 v2.8.7に戻してください。

+0

あなたの答えをありがとう。それはすべてのPCLライブラリ(サードパーティのものでさえ)をリンクしているようです。私はあなたの行をcmakelists.txtに追加し、それをチェックしました。私はCmake 2.8.7を使っていましたので、2.8.8にアップグレードしてみました。私は使用しているcmakeのバージョンと全く同じエラーを出します:(( – valentin

0

私はそう複雑なので、そのようなエラーを見つけることができると思います。 PC、Windows 7 64ビット、VStudio 2010にPCLをインストールしても、サンプルは正しく動作します。

PCLと依存関係が正しくインストールされていることを確認してください。 ダウンロードセクションをご覧くださいhere私の場合は、「オールインワン」バージョンをダウンロードしました。

指示に従った手順は、あまり複雑ではありません。

あなたは素敵な一日

持っている「cmakeのファイル」 here cmakeの

の最新バージョンをダウンロードして、最終的には、PCLのウェブサイトにhere

を基本的なプロジェクトを実行してみに構成されているかを確認することができた後、

0

私も同じ問題を抱えていました。手動でpcl_visualization.libファイルをリンクすることで解決しました。 一つは、のVisual C++ 2010で次の手順を試すことができます。

プロジェクトのプロパティ - >リンカ - >入力 - >追加の依存 - > は、ファイルを追加します。私の場合は

は、私が Gを追加しました:\ PCL \ PCL 1.6.0 \ libに\ pcl_visualization_release.libリリースとGのための:\ PCL \ PCL 1.6.0 \ libに\ pcl_visualization_debug.lib用デバッグ。

それは私のために働いた。

関連する問題