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的庫來解決。