一、必要依赖程序
vscode
gcc/g++
cmake sudo apt install cmake
ninja
git
二、基本项目搭建
- 创建项目
以项目名称 my_project 为例
cd /xxx #进入你的工作路径
mkdir my_project #创建项目路径
cd my_project #进入项目路径
code CMakeLists.txt #通过vscode创建CMakeLists.txt文件
- 编写CMakeLists
cmake_minimum_required(VERSION 3.13)
声明项目信息
project(
my_project #项目名称
VERSION 0.1.0 #当前版本号
DESCRIPTION "这是我的项目" #填写项目简要的描述信息
HOMEPAGE_URL "http://git.hhqj.com/yourname/my_project" #填写项目git仓库地址
)
#声明一个可执行程序
add_executable(
program_name #可执行程序名称
src/src0.cc #添加所依赖的源文件
src/src1.cc
)
- 编写源代码并编译运行
mkdir src #在项目路径下创建src目录
code src/src0.cc src/src1.cc #创建你的源码并通过vscode编写
mkdir build #创建build路径存放编译缓存
cd build #进入build路径
cmake .. -GNinja #执行cmake指令构建项目
ninja #执行ninja指令编译项目
./program_name #运行你的程序
三、通过源码方式添加依赖
注:该方式只适用于同样使用cmake构建的项目
使用vscode打开CMakeLists.txt,添加以下内容
# 在声明project之后添加以下内容
# 包含FetchContent相关功能
include(FetchContent)
#声明一个依赖库
FetchContent_Declare(
spdlog #库名称
GIT_REPOSITORY http://git.hhqj.com/pub/spdlog.git #库的git仓库位置
GIT_TAG v1.11.0) #所依赖的git分支或tag名称
#使能依赖库
FetchContent_MakeAvailable(spdlog)
# 在声明可执行程序之后添加以下内容
#为可执行程序添加依赖库
target_link_libraries(
program_name #可执行程序名称
spdlog #依赖库名称
)
四、通过二进制库方式添加依赖
注:该方式需要事先將依赖编译好
以下内容以 ffmpeg 库为例
1.创建libs路径存放二进制依赖
mkdir libs #在项目路径下创建libs目录
mkdir libs/ffmpeg #创建以依赖名命名的路径
在NAS ftp/libs 路进行寻找编译好的依赖,若没有则需要自行编译依赖的源码
将编译好的依赖二进制库和头文件拷贝到项目路径下的 libs/ffmpeg 文件夹内
- 编写CMakeLists.txt
使用vscode打开CMakeLists.txt,添加以下内容:
在声明可执行程序之前添加以下内容
# 设置二进制库的搜索路径
link_directories(
libs/ffmpeg/include #依赖二进制库所在路径
)
# 设置头文件的搜索路径
include_directories(
libs/ffmpeg/lib #依赖头文件所在路径
)
# 在声明可执行程序之后添加以下内容
#为可执行程序添加依赖库
target_link_libraries(
program_name #可执行程序名称
avformat #依赖库名称
avcodec
avutil
)
五、建立Git仓库
-
创建远程仓库
打开 Git服务器 ,登录账号,创建一个空白项目my_project -
初始化本地仓库
git init #在项目路径下执行此命令, 只需要执行一次
- 编写 .gitignore
code .gitignore #在项目路径下创建.gitignore 文件
禁止在git仓库中添加大体积的非字符文件,如动态库、静态库、视频、图片等
禁止在git仓库中添加临时文件和本地相关的配置信息,如 build 路径下的临时文件和 .vscode 路径下的vscode本地配置文件
在.gitignore中添加这些文件所在路径,让 git 忽略这些文件
例如在 libs 路径下存在二进制库,在 .gitignore 添加以下内容
/libs
/build
/.vscode
- 添加追踪的文件并提交
git add ./ #在项目路径下执行此命令
git commit #执行此命令后须填写提交的内容
- 推送到远程仓库
git remote add origin http://git.hhqj.com/yourname/my_project.git #设置远程仓库地址,只需要执行一次
git push -u origin --all #推送到远程仓库,若非第一次推送,则执行 git push
六、VSCode配置
vscode 安装 c/c++、cmake-tool 插件
同时按下ctrl+shift+p, 打开命令窗口,执行 CMake: Configure
编译选项设置
若在.vscode路径下没有setting.json文件则创建一个
在里面添加一下内容
{
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
}