0

J'essaie d'utiliser la bibliothèque Open Point Cloud pour aligner des nuages ​​de points. J'utilise Visual Studio 2012 et créé un nouveau projet Visual C++. Le répertoire où sont stockés tous les fichiers .lib de PCL est ajouté dans les propriétés du projet (Propriétés -> c/C++ -> général-> répertoire d'inclusion supplémentaire) Les bibliothèques que je veux utiliser sont listées dans Propriétés -> éditeur de liens -> entrée -> dépendances supplémentairesLink-Error LNK2020 & 2001 Visual C++ dans VS2012 avec bibliothèques PCL

Le code que j'ai écrit jusqu'à présent est très simple:

#include <iostream> 
#include <pcl/io/pcd_io.h> 
#include <pcl/point_types.h> 
#include <pcl/point_cloud.h> 

int main(int argc, char** argv) 
{ 
    //creates a PointCloud<PointXYZ> boost shared pointer and initializes it 
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_src (new pcl::PointCloud<pcl::PointXYZ>); 
    //load Pointsclouds from PCD-Files  
    pcl::io::loadPCDFile<pcl::PointXYZ> ("pcd_ascii.pcd", *cloud_src); // <- at this point the error occurs 
} 

Je viens de suivre ce tutoriel: http://pointclouds.org/documentation/tutorials/reading_pcd.php

J'includet les bons libs et les fichiers ... surtout "Pcd_io.h", pourquoi est-ce que je t l'erreur de l'éditeur de liens? Le fichier pcd que je veux charger se trouve dans le même dossier que le fichier cpp. Est-ce que je gère mal les libs?

Le lien-erreurs Fehler 28 erreur LNK2020: Nicht aufgel ÷ stes Token (0A000C90) « vide __cdecl :: console pcl :: print (ENUM console :: :: pcl VERBOSITY_LEVEL, char const *, ...) "(? print @ console @ pcl @@ $$ FYAXW4VERBOSITY_LEVEL @ 12 @ PBDZZ). D: \ Documents \ \ code \ PCL_cpp \ pcl_cpp \ pcl_cpp \ pcl_registration.obj pcl_cpp

Fehler 29 Erreur LNK2020: Nicht aufgel ÷ stes Token (0A000CBD) « void __cdecl :: console :: pcl print (ENUM :: pcl console :: VERBOSITY_LEVEL, char const *, ...) "(? print @ console @ pcl @@ $$ FYAXW4VERBOSITY_LEVEL @ 12 @ PBDZZ). D: \ Documents \ code \ PCL_cpp \ pcl_cpp \ pcl_cpp \ pcl_registration.obj pcl_cpp

Fehler 30 Erreur LNK2001: Nicht aufgel ÷ stes Symbole Externes "" public: virtuel int __thiscall :: pcl PCDReader :: readHeader (classe std: : basic_string, classe std :: allocateur> const &, sensor_msgs struct :: PointCloud2 &, classe Eigen :: Matrix &, classe Eigen :: Quaternion &, int &, int &, unsigned int &, int) »(readHeader @ PCDReader @ pcl @@ UAEHABV? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allocateur @ D @ 2 @@ std @@ AAUPointCloud2 @ sensor_msgs @@ AAV? $ Matrix @ M $ 03 $ 00 $ 0A @ $ 03 $ 00 @ Eigen @@ AAV? $ Quaternion @ M $ 0A @@ 8 @ AAH4AAIH @ Z) ". D: \ Documents \ code \ PCL_cpp \ pcl_cpp \ pcl_cpp \ pcl_registration.obj pcl_cpp

Fehler 31 erreur LNK2001: Nicht aufgel ÷ stes Symbole Externes "" public: virtuel int __thiscall :: pcl PCDReader :: read (classe std: : basic_string, classe std :: allocateur> const &, sensor_msgs struct :: PointCloud2 &, classe Eigen :: Matrice &, classe Eigen :: Quaternion &, int &, int) »(lire @ PCDReader @ pcl @@ UAEHABV? $ basic_string @ DU? $ char_traits @ D @ std @@ V? $ allocateur @ D @ 2 @@ std @@ AAUPointCloud2 @ sensor_msgs @@ AAV? $ Matrice @ M $ 03 $ 00 $ 0A @ $ 03 $ 00 @ Eigen @@ AAV? $ Quaternion @ M $ 0A @@ 8 @ AAHH @ Z) ". D: \ Documents \ code \ PCL_cpp \ pcl_cpp \ pcl_cpp \ pcl_registration.obj pcl_cpp

Fehler 32 erreur LNK2001: Nicht aufgel ÷ stes Symbole Externes "" void __cdecl :: console :: pcl print (ENUM :: console pcl: : VERBOSITY_LEVEL, char const *, ...) "(? Print @ console @ pcl @@ $$ FYAXW4VERBOSITY_LEVEL @ 12 @ PBDZZ)". D: \ Documents \ code \ PCL_cpp \ pcl_cpp \ pcl_cpp \ pcl_registration.obj pcl_cpp

Les erreurs sont en allemand "Nicht aufgelöstes" signifie non résolue Sur votre coment en ce qui concerne la bonne installation ... i wasnt shure, donc J'ai téléchargé et installé à nouveau. c'est l'installateur complet pour 64bit "Windows MSVC 2010 (64bit)" Après l'installation, j'obtiens les mêmes résultats.

+0

vous utilisez l'installation PCL correcte pour votre architecture (x86/x64)? –

+0

Ne nous faites pas deviner les erreurs de l'éditeur de liens. Ils étaient destinés à aider à diagnostiquer le problème. Nous ne pouvons pas faire cela si nous ne pouvons pas les voir. –

+0

Désolé, j'ai oublié de les ajouter à la description. Merci pour votre réponse rapide –

Répondre

0

Vérifiez d'abord que tous vos compilateurs et bibliothèques ont la même version 32 bits ou 64 bits.

Vous devez créer un lien externe, ces bibliothèques:

/LIBPATH:"C:\Program Files (x86)\PCL 1.6.0\lib" "pcl_common_debug.lib" "pcl_io_debug.lib"  pcl_common_release.lib" "pcl_features_release.lib" 

vous pouvez ajouter cette ligne à votre:

project>properties>commandline 
Questions connexes