SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit
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的更多相关文章
- C++工程编译之“error LNK2001: 无法解析的外部符号”
今天一整天都在折腾“error LNK2001: 无法解析的外部符号”,就在头疼不已的时候,总算是找到问题原因了:各个动态链接库的编译方式必须统一才行,要不然很容易对库函数的引用产生冲突.简单来说就是 ...
- vs2010+qt4编译出现error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject等错误
1.当vs2010编译qt时会出现以下错误: 1>------ 已启动全部重新生成: 项目: MyDialog, 配置: Debug Win32 ------ 1>生 ...
- Qt 编译出现 error LNK2019: 无法解析的外部符号
编辑完成后执行"构建->执行qmake",完成(必须要执行qmake).
- error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7
工程使用了DirectDraw,编译出错 error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7 解决办法是吧dxguid.lib添加到工程中,把lib所在目录添加到工程 ...
- C++项目链接出错, error LNK2019: 无法解析的外部符号 __imp_xxxx_Allocate,该符号在函数 "xxxx" (xxxx) 中被引用
1 错误提示 error LNK2019: 无法解析的外部符号 __imp_FreeImage_Allocate,该符号在函数 "public: bool __cdecl colmap::B ...
- Qt5 error LNK2019 无法解析的外部符号的解决办法
今天在使用Qt Create 4.5.2时遇到一个莫名其妙的问题: 在原有工程里添加一个新类(有界面的),在调用的mainwindow.cpp中添加#include "a.h",然 ...
- Android安全攻防战,反编译与混淆技术完全解析(下)
在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码.反编译资源.以及重新打包等内容.通过这些内容我们也能看出来,其实我们的程序并没有那么的安全.可能资源被反编译影响还不是很 ...
- Android安全攻防战,反编译与混淆技术完全解析(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值 ...
- 无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号
无法链接glew的解决办法-编译开源库出现: error LNK2001: 无法解析的外部符号 参考官方配置指南:http://glew.sourceforge.net/install.html 1. ...
随机推荐
- 9.2 Socket编程
远程管理软件和黑客软件大多依赖于Socket来实现特定功能,前几年流行的端口反弹更是把这项技术发挥到了极致. 如前所述,UDP和TCP是网络体系结构的传输层运行的两大重要协议,其中,TCP适用于对效率 ...
- 分布式服务框架Dubbo入门案例和项目源码
本项目源代码:http://download.csdn.net/detail/fansunion/9498406 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案, 是 ...
- 【Codeforces 1106D】Lunar New Year and a Wander
[链接] 我是链接,点我呀:) [题意] 让你遍历n个节点,访问过的节点不操作. 如果是没有访问过的点,那就把它加到序列的末尾. 问你形成的最小字典序的序列是多少. [题解] 显然每次找最小的标号 用 ...
- 清北学堂模拟赛d5t6 cube
题面有误!10,11,12操作类别为A,13,14,15类别为B,16,17,18类别为C. 分析:一道大暴力,每次记录一下走了多少步,上一步操作类别是啥就可以了.最后只需要写6种操作,每一次操作进行 ...
- MYSQL 字符集 MYSQL 源码
http://blog.csdn.net/maray/article/details/46504621
- 开源GIS软件 1
1. 在线地图浏览器 GMap.NET GMap.NET 是一个强大.免费.跨平台.开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, ...
- HDU 5502
枚举所有的最大值盒子里糖果为K的情况,对于位置p,dp[p]为p以前的,第p个操作为抽到不是蓝球里的情况,盒子里最多糖果为k的情况的概率.而到p这个位置,可以有连续最多k-1(因为第k个操作必须为抽到 ...
- [RxJS] Throttling vs Debouncing
DebounceTime: It's like delay, but passes only the most recent value from each burst of emissions. T ...
- android 通用菜单条实现(一)
一.前言介绍 直奔主题啦,非常多Android app都有菜单条.菜单条除了背景图片.图标的不同外,布局基本一致.大致能够分为三部分:菜单条的左側区域.菜单条中间区域.菜单条右側区域. 为了考虑代码的 ...
- 单点登录cas常见问题(八) - 什么时候会用到代理proxy模式?
举一个样例:有两个应用App1和App2,它们都是受Casserver保护的,即请求它们时都须要通过Cas server的认证. 如今须要在App1中通过Http请求訪问App2,显然该请求将会被Ap ...