以rtklib為例——介紹在ubuntu下clion除錯已寫好的原始碼
阿新 • • 發佈:2020-10-09
linux下一般都用gcc(編譯)+gdb(除錯)+vim(編輯),想我這種弱雞用IDE(Integrated Development Environment)整合開發環境clion
在clion下除錯程式碼,需要編輯CMakeLists.txt檔案,用CMakeLists.txt檔案中的CMake命令自動生成makefile檔案,然後執行makefile檔案中的make命令對已有的原始檔進行管理執行操作。
新建專案後會自動生成CMakeLists.txt檔案,我們把已有的rtklib程式碼複製到新建專案的目錄下面,把rtklib的main.c檔案的內容替換掉新建專案自帶的main.c檔案的內容。
然後編輯CMakeLists.txt檔案:
cmake_minimum_required(VERSION 3.15) /*版本(自動生成)*/
project(RTKLIB C) /*專案名稱*/
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include) /*先指明庫的檔案位置,.h檔案的路徑(把.h檔案放在include下即可)*/
FILE(GLOB SRC_FILES "src/*.c" "src/rcv/*.c") /*將當前專案中可執行檔案.h .c* .rc 檔案列舉出, 存放到一個臨時變數(宣告一個變數SRC_FILES,把.c的原始檔賦給SRC_FILES )*/
ADD_LIBRARY(RTK_LIB ${SRC_FILES}) /*新增到庫RTK_LIB*/
TARGET_LINK_LIBRARIES(RTK_LIB blas lapack z)
SET_TARGET_PROPERTIES(RTK_LIB PROPERTIES ARCHIVE_OUTPUT_DIRECTORY
${PROJECT_SOURCE_DIR}/lib)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY
${PROJECT_SOURCE_DIR}/bin) /*結果輸出路徑(bin檔案下)*/
ADD_EXECUTABLE(rtkpost main.c) /*rtkpost:工程名稱,將main.c檔案新增到專案中*/
TARGET_LINK_LIBRARIES(rtkpost RTK_LIB) /*將臨時變數RTK_LIB連結到工程中*/
TARGET_LINK_LIBRARIES(rtkpost m) /*將庫連結到專案中,注意這個連結一般在cmake檔案末尾部分給出(連結數學庫)*/
然後配置好配置檔案:
最後就可以運行了
注:修改CMakeList.txt檔案之後,記得重新載入一下