1. 程式人生 > 實用技巧 >以rtklib為例——介紹在ubuntu下clion除錯已寫好的原始碼

以rtklib為例——介紹在ubuntu下clion除錯已寫好的原始碼

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檔案之後,記得重新載入一下