日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit

發布時間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。