1. 程式人生 > >Roboware studio中呼叫第三方庫修改CMakelist

Roboware studio中呼叫第三方庫修改CMakelist

相信剛開始接觸到CMakelist.txt的時候,肯定是摸不到頭緒的;現在我就針對我在工程遇到的問題和解決方法分享給你們,希望對你們的學習有幫助。

我遇到的問題是在src檔案->XXX.cpp原始檔中呼叫,include->XXX檔案->xxx.cpp裡的實現函式;即多個cpp原始檔的引用問題。現在:我來分享一下的解決方法:

首先,我要強調的是:去ros.wiki官網去找CMakelist的詳細解析,自己從頭到尾看一遍。無論這個詳細報告是否對解決問題起到作用,我都建議去扣一遍各個部分的作用,這樣首先對CMakelist檔案有個大體的瞭解。詳細資料檢視網址:http://wiki.ros.org/catkin/CMakeLists.txt

然後,扣完一手資料後,也許你也看過許多其他的部落格,關於CMakelist檔案的介紹,有了大體的瞭解。囉嗦的話在這裡不在贅述,看解決方案。要想在XXX.cpp中呼叫xxx.cpp檔案的實現函式

第一步:要在XXX.cpp中引入標頭檔案,eg: #include "arch/linux/net_serial.h"

第二步:修改XXX.cpp原文下的CMakelist.txt檔案

     (1):通過函式FILE函式,包含xxx.cpp中所有的/*.cpp檔案(原始檔路徑須保證輸入正確。

              FILE(GLOB SERIAL_SRC
           "include/arch/linux/*.cpp"
            "include/hal/*.cpp")

    (2):新增執行,通過add_execuable()函式,新增執行函式。其實就是講FILE檔案中自定義的變數 {SERIAL_SRC},新增到可執行函式中即可。如下所示

              add_executable(xrobot_serial_bridge_node
           src/xrobot_serial_bridge_node.cpp ${SERIAL_SRC})

最後:重新編譯一下,即可呼叫/*.cpp檔案裡的實現函數了。