pcl是比較出眾的雷射點雲處理庫,通常都是自己從原始碼編譯而來,但是編譯出的動態庫在使用的過程在標頭檔案中會報一些奇怪的錯誤,起初天真的以為不可能是原始碼的問題,是自己環境配置的問題,經孫師兄點撥,豁然明白標頭檔案中有錯誤,錯誤的原因是部分函式與系統標準庫重名,導致編譯器解析(從右至左)出現錯誤,舉例說明:
在使用kdtree和pcl_common這兩個dll時在標頭檔案:nn_index.h和result_set.h中會出現錯誤,如以下兩句:
worst_dist_ = std::numeric_limits::max();
size_t n = std::min(dist_index_.size(), num_elements);
類似語句編譯時都會出現這個error,解決方案是:把max、min等連同前面的作用域括起來,如下:
worst_dist_ = (std::numeric_limits::max)();
size_t n = (std::min)(dist_index_.size(), num_elements);
此外,還有以下檔案中的類似**需要修改
。hierarchical_clustering_index.h
kmeans_index.h
lsh_table.h
kdtree_index.h
autotuned_indes.h
kdtree_single_index.h
lsh_index.h
result_set.h
nn_index.h
DELPHI中BUG修改備忘
1.關於sizeof 同樣的 var lwindcode array 0.15 of char begin showmessage inttostr sizeof lwindcode end 在delphi7和delphi2009下結果分別是16 32,為什麼?這是因為widechar和ansich...
關於修改bug的思考
有軟體就有 bug,這意味著軟體研發不僅僅是新功能開發,更要拿出相當一部分精力去修改 bug。但基本很多軟體開發者並不喜歡修改 bug,對這項工作的厭惡程度並不下於寫文件。究其原因有以下幾點 一是修改 bug並不會帶來像開發新功能那麼大的成就感,甚至修改 bug意味著承認自己開發的軟體中存在缺陷,這...
pcl中遇到的問題
1.無法啟動此程式,因為計算機中丟失msvcp110d.dll。嘗試重新安裝該程式以解決此程式。解決方案 找了度娘好久,但是始終沒有找到解決方案,由於是系統問題,最後想到了試試360,360安全衛士 人工服務 熱門工具 缺少msvc dll檔案 修復。2.windows 找不到檔案 windows ...