OpenCV出现了ORB特征和SURF的GPU版本,

参考:opencv上gpu版surf特征点与orb特征点提取及匹配实例至于使用什么并行API暂时没有探究。

但没有发现OpenCV-SIFT的GPU使用。需要自行编译,参考:编译Opencv的GPU,利用CUDA加速

SiftGPU的原始库可以编译通过。但不能使用,在使用时引出了一连串96个编译错误。

1.Glew函数错误

1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetShaderInfoLog
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetShaderiv
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetProgramInfoLog
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetProgramiv
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewUseProgram
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewLinkProgram
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewAttachShader
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewCreateProgram
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewCompileShader
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewShaderSource
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewCreateShader
1>flatten.obj : error LNK2019: 无法解析的外部符号 __imp__glewIsSupporte

解决方法:

更新Glew到2.0版本

2.更新Glew之后,显示对于原始GlobalUtil.obj 工程仍含有未解析glut函数体:

1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutInit
1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutInitDisplayMode
1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutInitWindowPosition
1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutCreateWindow
1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutDestroyWindow
1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutGetWindow
1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutSetWindow
1>siftgpu.lib(GlobalUtil.obj) : error LNK2001: 无法解析的外部符号 glutHideWindow
1>E:\CodeBase\CodeValidSource\SLAM\ORB_SLAM_Wish\Build\Win\ORBSLAM\x64\Release\SlamFrame.exe : fatal error LNK1120: 8 个无法解析的外部命令

找不到合适的glut版本,暂时无法解决。

更正方法:

2.1. 去掉原始Sift工程中所有的 #include "GlobalUtil.h" 语句

此方法不可取!

2.2. 注销掉GlobalUtil.cpp里面所有的GLut函数

结果:

整个显示界面不能使用,因此也不必使用!Glut问题也成为悬着的问题。

然而不能使用,在初始化时候出现问题,因此必须解决Glut问题。

解决方法:

64位版本使用32位版本问题。

      32位版的很好找,网上一找一堆,可是64位版的相对比较难找,更有人说glut不支持64位的开发,搞的小菜一度想放弃。就在我快要放弃的时候,一个大神跳出来跟我说,纳尼,谁说没有64bit的??!!

      不多说,直接给网址:http://download.csdn.net/detail/knownall/6799947这是glut3.7.6,里面包含debug/release,32bit和64bit。

      当然也可以选择下载源码自己编译: http://download.csdn.net/detail/knownall/6799967 自己编译的应该感觉起来比较爽,小菜便是这么做滴。

使用Glut的64位版本。下载地址:http://download.csdn.net/download/knownall/6799947

SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit的更多相关文章

  1. C++工程编译之“error LNK2001: 无法解析的外部符号”

    今天一整天都在折腾“error LNK2001: 无法解析的外部符号”,就在头疼不已的时候,总算是找到问题原因了:各个动态链接库的编译方式必须统一才行,要不然很容易对库函数的引用产生冲突.简单来说就是 ...

  2. vs2010+qt4编译出现error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject等错误

    1.当vs2010编译qt时会出现以下错误: 1>------ 已启动全部重新生成: 项目: MyDialog, 配置: Debug Win32 ------            1>生 ...

  3. Qt 编译出现 error LNK2019: 无法解析的外部符号

    编辑完成后执行"构建->执行qmake",完成(必须要执行qmake).

  4. error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7

    工程使用了DirectDraw,编译出错 error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7 解决办法是吧dxguid.lib添加到工程中,把lib所在目录添加到工程 ...

  5. C++项目链接出错, error LNK2019: 无法解析的外部符号 __imp_xxxx_Allocate,该符号在函数 "xxxx" (xxxx) 中被引用

    1 错误提示 error LNK2019: 无法解析的外部符号 __imp_FreeImage_Allocate,该符号在函数 "public: bool __cdecl colmap::B ...

  6. Qt5 error LNK2019 无法解析的外部符号的解决办法

    今天在使用Qt Create 4.5.2时遇到一个莫名其妙的问题: 在原有工程里添加一个新类(有界面的),在调用的mainwindow.cpp中添加#include "a.h",然 ...

  7. Android安全攻防战,反编译与混淆技术完全解析(下)

    在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码.反编译资源.以及重新打包等内容.通过这些内容我们也能看出来,其实我们的程序并没有那么的安全.可能资源被反编译影响还不是很 ...

  8. Android安全攻防战,反编译与混淆技术完全解析(上)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值 ...

  9. 无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号

    无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号 参考官方配置指南:http://glew.sourceforge.net/install.html 1. ...

随机推荐

  1. OpenStack命令行工具与API

    Openstack命令行工具 我们推荐Openstack命令行工具和Openstack的Dashboard两者结合使用.一些用户由于使用过其他云技术背景的,可能会使用EC2兼容的API,相对于我们需要 ...

  2. POJ 1190 生日蛋糕 剪枝

    Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri ...

  3. [luogu1373]小a和uim之大逃离_动态规划

    小a和uim之大逃离 题目大意:有一个n*m的矩阵.每个格子上有一坨0~k不等量的权值.有两个人,每个人任选一个格子作为出发点,并只能向下或向右走.求最后两个人所得到的权值mod k相等的方案数. 注 ...

  4. HDU 4891 The Great Pan (字符串处理)

    题目链接:HDU 4891 The Great Pan 求一串字符有多少种不同的意思,当中关心'{','}'之间的'|'. 和'$','$'之间的空格,连续N个空格算N+1种. AC代码: #incl ...

  5. Android 开发 ContentProvider 获取歌曲列表和联系人的样例

    ContentProvider(内容提供者)是Android中的四大组件之中的一个. 主要用于对外共享数据.也就是通过ContentProvider把应用中的数据共享给其它应用訪问.其它应用能够通过C ...

  6. POJ2584_T-Shirt Gumbo(二分图多重最大匹配/最大流)

    解题报告 http://blog.csdn.net/juncoder/article/details/38239367 题目传送门 题意: X个參赛选手,每一个选手有衣服大小的范围,5种大小的队服,求 ...

  7. [Jest] Use property matchers in snapshot tests with Jest

    With the right process in place, snapshot tests can be a great way to detect unintended changes in a ...

  8. HDU3183 RMQ/贪心

    A Magic Lamp Problem Description Kiki likes traveling. One day she finds a magic lamp, unfortunately ...

  9. Linux framebuffer显示bmp图片【转】

    本文转载自:http://blog.csdn.net/luxiaoxun/article/details/7622988 framebuffer简介 帧缓冲(framebuffer)是Linux为显示 ...

  10. JS容易犯错的this和作用域

    var someuser = { name: 'byvoid', func: function() { console.log(this.name); } }; var foo = { name: ' ...