点云技术相关产学研社区

 找回密码
 立即注册加入PCL中国点云技术相关产学研社区

扫一扫,访问微社区

查看: 14829|回复: 5

在配置好PCL1.7.1的情况下,进行可视化点云,出现了错误。

[复制链接]
发表于 2014-8-27 22:52:25 | 显示全部楼层 |阅读模式
在配置好PCL1.7.1的情况下,拿两个例子,进行了验证,一个是写IO文件,一个是配准,应该是没什么问题了
可是在可视化点云的时候,却出现了如下的错误。
在配置好PCL1.7.1的情况下,进行可视化点云,出现了错误。
错误类型如下
我已经在附加依赖项中,添加了vtkRendering-gd.lib,请问是怎么回事?


1>------ 已启动生成: 项目: pcl_yihui, 配置: Debug Win32 ------
1>生成启动时间为 2014/8/27 星期三 下午 10:42:51。
1>InitializeBuildStatus:
1>  正在对“Debug\pcl_yihui.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1>  所有输出均为最新。
1>ManifestResourceCompile:
1>  所有输出均为最新。
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glCallList@4,该符号在函数 "public: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *)" (?Render@vtkOpenGLGlyph3DMapper@@UAEXPAVvtkRenderer@@PAVvtkActor@@@Z) 中被引用



回复

使用道具 举报

 楼主| 发表于 2014-8-27 22:53:39 | 显示全部楼层
1>vtkRendering-gd.lib(vtkOpenGLDisplayListPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glCallList@4
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glEndList@0,该符号在函数 "public: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *)" (?Render@vtkOpenGLGlyph3DMapper@@UAEXPAVvtkRenderer@@PAVvtkActor@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLDisplayListPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glEndList@0
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glNewList@8,该符号在函数 "public: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *)" (?Render@vtkOpenGLGlyph3DMapper@@UAEXPAVvtkRenderer@@PAVvtkActor@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLDisplayListPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glNewList@8
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glGenLists@4,该符号在函数 "public: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *)" (?Render@vtkOpenGLGlyph3DMapper@@UAEXPAVvtkRenderer@@PAVvtkActor@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLDisplayListPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glGenLists@4
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glColorMask@16,该符号在函数 "public: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *)" (?Render@vtkOpenGLGlyph3DMapper@@UAEXPAVvtkRenderer@@PAVvtkActor@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLPainterDeviceAdapter.obj) : error LNK2001: 无法解析的外部符号 __imp__glColorMask@16
1>vtkRendering-gd.lib(vtkOpenGLScalarsToColorsPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopAttrib@0
1>vtkRendering-gd.lib(vtkOpenGLImageActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopAttrib@0
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glPopAttrib@0,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLTexture.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopAttrib@0
1>vtkRendering-gd.lib(vtkOpenGLRenderer.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopAttrib@0
1>vtkRendering-gd.lib(vtkOpenGLRepresentationPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopAttrib@0
1>vtkRendering-gd.lib(vtkOpenGLLight.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLImageActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLRenderWindow.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glPopMatrix@0,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLRenderer.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLCoincidentTopologyResolutionPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLClipPlanesPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPopMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glMultMatrixf@4,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLCamera.obj) : error LNK2001: 无法解析的外部符号 __imp__glMultMatrixf@4
1>vtkRendering-gd.lib(vtkOpenGLRenderWindow.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLLight.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLImageActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLCamera.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glPushMatrix@0,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLRenderer.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLCoincidentTopologyResolutionPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLClipPlanesPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushMatrix@0
1>vtkRendering-gd.lib(vtkOpenGLRenderWindow.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLClipPlanesPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLImageActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLCamera.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glMatrixMode@4,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLTexture.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLRenderer.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLCoincidentTopologyResolutionPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glColor4ub@16,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glBlendFunc@8,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLTexture.obj) : error LNK2001: 无法解析的外部符号 __imp__glBlendFunc@8
1>vtkRendering-gd.lib(vtkOpenGLScalarsToColorsPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glBlendFunc@8
1>vtkRendering-gd.lib(vtkOpenGLRenderWindow.obj) : error LNK2001: 无法解析的外部符号 __imp__glBlendFunc@8
1>vtkRendering-gd.lib(vtkOpenGLScalarsToColorsPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushAttrib@4
1>vtkRendering-gd.lib(vtkOpenGLImageActor.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushAttrib@4
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glPushAttrib@4,该符号在函数 "private: virtual void __thiscall vtkOpenGLGlyph3DMapper::Render(class vtkRenderer *,class vtkActor *,class vtkDataSet *)" (?Render@vtkOpenGLGlyph3DMapper@@EAEXPAVvtkRenderer@@PAVvtkActor@@PAVvtkDataSet@@@Z) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLTexture.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushAttrib@4
1>vtkRendering-gd.lib(vtkOpenGLRenderer.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushAttrib@4
1>vtkRendering-gd.lib(vtkOpenGLRepresentationPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glPushAttrib@4
1>vtkRendering-gd.lib(vtkOpenGLGlyph3DMapper.obj) : error LNK2019: 无法解析的外部符号 __imp__glDeleteLists@8,该符号在函数 "protected: void __thiscall vtkOpenGLGlyph3DMapper::ReleaseList(void)" (?ReleaseList@vtkOpenGLGlyph3DMapper@@IAEXXZ) 中被引用
1>vtkRendering-gd.lib(vtkOpenGLDisplayListPainter.obj) : error LNK2001: 无法解析的外部符号 __imp__glDeleteLists@8
1>vtkRendering-gd.lib(vtkOpenGLRenderWindow.obj) : error LNK2001: 无法解析的外部符号 __imp__glDeleteTextures@8
回复 支持 反对

使用道具 举报

发表于 2014-8-28 11:01:31 | 显示全部楼层
你的VTK是自己编译的吗?这里编译链接时,需要注意有个链接选项
Option
Description
/MD
Causes the application to use the multithread-specific and DLL-specific version of the run-time library. Defines _MT and _DLL and causes the compiler to place the library name MSVCRT.lib into the .obj file.
Applications compiled with this option are statically linked to MSVCRT.lib. This library provides a layer of code that enables the linker to resolve external references. The actual working code is contained in MSVCRversionnumber.DLL, which must be available at run time to applications linked with MSVCRT.lib.
/MDd
Defines _DEBUG, _MT, and _DLL and causes the application to use the debug multithread-specific and DLL-specific version of the run-time library. It also causes the compiler to place the library name MSVCRTD.lib into the .obj file.
/MT
Causes the application to use the multithread, static version of the run-time library. Defines _MT and causes the compiler to place the library name LIBCMT.lib into the .obj file so that the linker will use LIBCMT.lib to resolve external symbols.
/MTd
Defines _DEBUG and _MT. This option also causes the compiler to place the library name LIBCMTD.lib into the .obj file so that the linker will use LIBCMTD.lib to resolve external symbols.
/LD
Creates a DLL.
Passes the /DLL option to the linker. The linker looks for, but does not require, a DllMain function. If you do not write a DllMain function, the linker inserts a DllMain function that returns TRUE.
Links the DLL startup code.
Creates an import library (.lib), if an export (.exp) file is not specified on the command line. You link the import library to applications that call your DLL.
Interprets /Fe (Name EXE File) as naming a DLL rather than an .exe file. By default, the program name becomes basename.dll instead of basename.exe.
Implies /MT unless you explicitly specify /MD.
/LDd
Creates a debug DLL. Defines _MT and _DEBUG.

编译VTK的这个选项要和你对应工程的选项一致,否则也有可能出现这样的错误。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-28 20:25:33 | 显示全部楼层
是用的PCL网站的预编译包,又弄了好久,哈哈,终于弄好了。
好像不是选项和对应工程的选项一致的问题
只是附加依赖项里忘记加vfw32.lib,opengl32.lib了
回复 支持 反对

使用道具 举报

发表于 2014-12-15 10:15:58 | 显示全部楼层
王三国 发表于 2014-8-28 20:25
是用的PCL网站的预编译包,又弄了好久,哈哈,终于弄好了。
好像不是选项和对应工程的选项一致的问题
只是 ...

我的也出现这个问题,把vfw32.lib和opengl32.lib加进去也不行,请问您的附加依赖项都加了什么呀?我都怀疑是不是没有安装成功了:(
回复 支持 反对

使用道具 举报

发表于 2018-5-3 15:06:37 | 显示全部楼层
小蚊子 发表于 2014-12-15 10:15
我的也出现这个问题,把vfw32.lib和opengl32.lib加进去也不行,请问您的附加依赖项都加了什么呀?我都怀 ...

楼主这个问题你解决了没?怎么解决的,求指导
回复 支持 反对

使用道具 举报

本版积分规则

QQ|小黑屋|点云技术相关产学研社区 ( 陕ICP备13001629号 )

GMT+8, 2024-4-26 17:21 , Processed in 1.720437 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表