ubuntu16 04下Cmake學習一

2022-08-27 19:21:10 字數 2069 閱讀 8975

根據網上的資料,我總結了一下,乙個工程應該有根目錄(bin)存放可執行檔案,頭檔案目錄(include)存放標頭檔案,原始碼檔案(src)存放你的演算法,還需要乙個庫資料夾存放你編譯的靜態庫或者動態庫。然後得出下面這個例子:

/home/bmi-zc/project:

|—cmakelists.txt 頂層cmakelists

||—bin

||—include

|    test.h    

||—lib

||—src

|  cmakelists.txt

|  |—main

|  cmakelists.txt

|  main.c

||—test

cmakelists.txt

test1.c

test2.c  

test.h

#ifndef include_test_h

#define include_test_h

void t1();

void t2();

#endif /*include_test_h*/

test1.c

#include "/home/bmi-zc/project/include/test.h"

#include void t1()

test2.c

#include "/home/bmi-zc/project/include/test.h"

#include void t2()

main.c:

#include "/home/bmi-zc/project/include/test.h"  

int main()

/home/bmi-zc/project/cmakelists.txt:

cmake_minimum_required(version 3.5)

project(test)

add_subdirectory(src)

cmakelists.txt內容:指定專案名稱,新增工程原始碼子目錄(子目錄裡面還有目錄,只需要把原始碼根目錄新增進去就行,例如上圖,只需要新增src目錄add_subdirectory(src)即可)。

用到的指令:project,add_subdirectory。

/home/bmi-zc/project/src/

add_subdirectory(main)

add_subdirectory(test)

cmakelists.txt內容:新增原始碼子目錄

所用到指令:add_subdirectory

/home/bmi-zc/project/src/test/

set(cmake_c_comptler gcc)

set(src_list test1.c test2.c)

include_directories($/include)

set(library_output_path $/lib)

add_library(libtest static $)

/home/bmi-zc/project/src/main

set(src_list main.c)

include_directories($/include)

set(executable_output_path $/bin)

add_executable(main $)

link_directories($/lib)

target_link_libraries(main libtest)

Ubuntu16 04下terminator的使用

安裝terminator sudo apt get install terminator常用快捷鍵 命令 說明 ctrl shift o 水平分割視窗 ctrl shift e 垂直分割視窗 f11 全屏 退出全屏 ctrl shift c 複製 ctrl shift v 貼上 ctrl tab 在...

Ubuntu16 04下解除安裝CUDA

sudo apt get install cuda你可能會猛然發現終端上顯示安裝的愕然都是cuda10.0 也就是最新版本 等到安裝結束,你再仔細一看,還確實是安裝了10.0。於是就開始抓頭自問 不對呀,我明明是照著文件安裝下來的呀,怎麼就變成10.0的了?原來是安裝cuda的時候,版本自動幫你替換...

Ubuntu16 04下解除安裝CUDA

你可能會猛然發現終端上顯示安裝的愕然都是cuda10.0 也就是最新版本 等到安裝結束,你再仔細一看,還確實是安裝了10.0。於是就開始抓頭自問 不對呀,我明明是照著文件安裝下來的呀,怎麼就變成10.0的了?原來是安裝cuda的時候,版本自動幫你替換成了最新版 該怎麼說呢?真是謝謝您了lol 解決辦...