最近想從pcl庫中繼承類進行改寫,然後遇到了很多問題,這裡記錄一下,自己是菜鳥,編譯什麼的都不太懂。
我們一般都是.cpp和.h的形式,pcl是在.h中定義,然後在.hpp中實現,.cpp的作用我現在也沒搞明白,還有涉及預編譯什麼的,蒙;
從庫的.h和.hpp分別複製了檔案出來,命名成自己的,繼承類也改了名:
原來的.**件中b:a,c:b,一開始我只複製了c:b,並給c改了名,但是提示沒有定義b,然後又複製了b:a,這時問題來了,b進行了重複定義,正確做法應該是include原來的.**件,不要重定義b;
然後複製完.**件後,記得最上面#ifndef語句必須要修改,不然這個.**件不會起作用;
提示庫里缺少乙個.hpp檔案,看usr/local中對應的資料夾下確實缺少這個檔案,但是pcl自己的繼承類就沒有這個問題,不知道怎麼規避的,沒辦法,使用cp指令拷貝進去;
同事說一般要麼.cpp+.h,要麼.hpp,不要.h和.hpp混用,然後我就刪除了.hpp,把內容複製到.cpp,但是一直提示unreference,鏈結不到;
最後發現,模板類涉及二次編譯,因此需要存放在同乙個.h或者.hpp檔案中,不能放到.cpp檔案中,因此把函式的實現就放在.**件的定義後面,也就是說直接實現就可以了;
gcc g 編譯的那些事
嚴重宣告 本帖絕非技術貼,只是在g 編譯時遇到些百思不得其解的錯誤,而且這種錯誤應該很少人犯,寫下來僅供你實在找不錯出錯地方時的 柳暗花明又一村 我在編譯時總是提示 cprocessmodule.cpp中68行乙個變數 o typename 未宣告 注 cprocessmodule.cpp在src目...
關於Winform編譯配置那些事
這次我們來聊聊winform編譯中的那些屬性設定,也算對這部分知識的乙個梳理。debug release platform不同設定的內部差別 常規設定 錯誤和警告 將警告視為錯誤 輸出高階設定 在使用visual studio的過程中,工具欄上面的build欄是我們常常開啟顯示而不怎麼去關注的乙個地...
關於Winform編譯配置那些事
這次我們來聊聊winform編譯中的那些屬性設定,也算對這部分知識的乙個梳理。debug release platform不同設定的內部差別 常規設定 錯誤和警告 將警告視為錯誤 輸出高階設定 在使用visual studio的過程中,工具欄上面的build欄是我們常常開啟顯示而不怎麼去關注的乙個地...