GetFeature程序平臺移植問題解決

1. 發生以下類似錯誤:

.//libgetfea.so: undefined reference to `inflateReset'

.//libgetfea.so: undefined reference to `inflateEnd'
.//libgetfea.so: undefined reference to `compress'
.//libgetfea.so: undefined reference to `deflate'
.//libgetfea.so: undefined reference to `deflateInit_'
.//libgetfea.so: undefined reference to `inflate'
.//libgetfea.so: undefined reference to `inflateSync'
.//libgetfea.so: undefined reference to `compress2'
.//libgetfea.so: undefined reference to `crc32'
.//libgetfea.so: undefined reference to `deflateEnd'
.//libgetfea.so: undefined reference to `deflateReset'
.//libgetfea.so: undefined reference to `BZ2_bzDecompress'
.//libsurf.so: undefined reference to `cvInitMatHeader'
.//libgetfea.so: undefined reference to `BZ2_bzDecompressEnd'
.//libgetfea.so: undefined reference to `inflateInit_'
.//libgetfea.so: undefined reference to `deflateInit2_'
.//libgetfea.so: undefined reference to `sgemv_'

.//libgetfea.so: undefined reference to `uncompress'

這裏是說明zlib有問題, 可以首先使用ldconfig更新以下動態鏈接庫(ldconfig通常在系統啓動時運行,而當用戶安裝了一個新的動態鏈接庫時,就需要手工運行這個命令. )

這裏的問題是如Linking with libpng & zlib?文章中所說,要按-ljpeg -lz順序鏈接庫

2. 由於opensurf要用pencv的庫,所以在GetFeature在調用libsurf.so時發生

undefined reference to `cvPutText'

等跟CV相關的類似錯誤, 這是因爲可以在生成libsurf.so之時鏈接openCV的庫, 也可以在調用libsurf.so之後再鏈接openCV庫,這裏通過在生成libsurf.so之時就鏈接openCV的庫來解決。

發佈了49 篇原創文章 · 獲贊 5 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章