Link-Error LNK2020& 2001 VSX中的Visual C ++与PCL-Libraries

时间:2013-01-02 21:49:40

标签: visual-c++ visual-studio-2012 linker-errors lnk point-cloud-library

我正在尝试使用Open Point Cloud库来对齐点云。我使用Visual Studio 2012并创建了一个新的Visual c + +项目。 存储PCL的所有.lib的目录将添加到项目的属性中(属性 - > c / c ++ - > general->其他包含目录) 我要使用的库列在Properties - >中。链接器 - >输入 - >其他依赖

我写的代码到现在很简单:

#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
}

我刚刚按照本教程: http://pointclouds.org/documentation/tutorials/reading_pcd.php

我包含正确的库和文件...特别是“pcd_io.h”,为什么我会收到链接器错误?我要加载的pcd文件位于与cpp文件相同的文件夹中。我是否以错误的方式处理库?

链接错误 Fehler 28错误LNK2020:Nicht aufgel÷stes Token(0A000C90)“void __cdecl pcl :: console :: 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 29错误LNK2020:Nicht aufgel÷stes Token(0A000CBD)“void __cdecl pcl :: console :: 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错误LNK2001:Nicht aufgel÷stes externes符号“”public:virtual int __thiscall pcl :: PCDReader :: readHeader(class std :: basic_string,class std :: allocator&gt; const&amp;,struct sensor_msgs :: PointCloud2&amp;,类Eigen :: Matrix&amp;,类Eigen :: Quaternion&amp;,int&amp;,int&amp;,unsigned int&amp;,int)“(?readHeader @ PCDReader @ pcl @@ UAEHABV?$ basic_string @杜?$ @ char_traits @ d @@性病V'$ @分配器@ d @@ 2 STD @@ AAUPointCloud2 @ sensor_msgs @@ AAV?$基质@ M $ 03 $ $ 00 0A @ $ 03 $ 00 @艾根@@ AAV?$ @四元数M $ 0A @@ 8 @ AAH4AAIH @ Z)”。 D:\ Documents \ Code \ PCL_cpp \ pcl_cpp \ pcl_cpp \ pcl_registration.obj pcl_cpp

Fehler 31错误LNK2001:Nicht aufgel÷stes externes符号“”public:virtual int __thiscall pcl :: PCDReader :: read(class std :: basic_string,class std :: allocator&gt; const&amp;,struct sensor_msgs :: PointCloud2&amp;,类Eigen :: Matrix&amp;,类Eigen :: Quaternion&amp;,int&amp;,int)“(?读取@ PCDReader @ pcl @@ UAEHABV?$ basic_string @ DU?$ char_traits @ D @ std @ @V?$ @分配器@ d @@ 2 STD @@ AAUPointCloud2 @ sensor_msgs @@ AAV?$基质@ M $ 03 $ $ 00 0A @ $ 03 $ 00 @艾根@@ AAV?$ @四元数M $ 0A @@ 8 @啊哈@ Z)”。 D:\ Documents \ Code \ PCL_cpp \ pcl_cpp \ pcl_cpp \ pcl_registration.obj pcl_cpp

Fehler 32错误LNK2001:Nicht aufgel÷stes externes符号“”void __cdecl pcl :: console :: 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

错误在德国“Nichtaufgelöstes”意味着未解决 关于正确的安装你的冥想...我不是真的,所以我下载并再次安装它。它是64位“Windows MSVC 2010(64位)”的完整安装程序 安装后,我得到相同的结果。

1 个答案:

答案 0 :(得分:0)

首先检查所有编译器和库是否具有相同版本的32位或64位。

您需要在外部链接这些库:

/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" 

您可以将此行添加到:

project>properties>commandline