基于VSCode和CMake实现C/C++开发(图片笔记)

reference来源于6.5 【实战】CMake代码实践_哔哩哔哩_bilibili

笔记主体记录于纸质讲义, 这里主要记录一些图片笔记

6.4.2.1 内部构建:

先手动新建一个cmakelists.txt,会自动识别并配置图标.

cmake. 后:

基于VSCode和CMake实现C/C++开发(图片笔记)_第1张图片

 make 后:  生成了可执行文件target.  target名字是之前通过add_executable命令指定的.

基于VSCode和CMake实现C/C++开发(图片笔记)_第2张图片

内部构建会产生冗余文件,其实只需要保存如下这两个文件:

基于VSCode和CMake实现C/C++开发(图片笔记)_第3张图片

 改为外部构建:  先要删除上面内部构建生成的中间文件. 

基于VSCode和CMake实现C/C++开发(图片笔记)_第4张图片

外部构建:

# 1. 在当前目录下,创建 build 文件夹
mkdir build
# 2. 进入到 build 文件夹
cd build
# 3. 在上级目录编译, 生成CMakeLists.txt.
cmake ..
基于VSCode和CMake实现C/C++开发(图片笔记)_第5张图片

 

# 4. 执行 make 命令,在build文件夹中生成 target 文件以及其他冗余文件. 相当于是将冗余文件放到了build文件夹下面, 看上去比内部构建简洁.
make
基于VSCode和CMake实现C/C++开发(图片笔记)_第6张图片
基于VSCode和CMake实现C/C++开发(图片笔记)_第7张图片

基于VSCode和CMake实现C/C++开发(图片笔记)_第8张图片 

 

f11下一步且会进入到函数里面.  f5开始调试.   f10直接下一步,不会进入函数里面.

工程项目cmake


├── data
    ├──images
        ├──0.png(输入图像)
    ├──masks(模型结果)
├── model
    ├──CMakelists.txt
    ├──resunet.wts(模型参数文件)
├── build
│   ├── CMakeCache.txt
│   ├── CMakeFiles
│   ├── Makefile
│   ├── cmake_install.cmake
│   ├── bin
        └── my_cmake_exe

├── mylib(我们内部自己写好的库,编写为inference.so. 需要链接第三方库. )
    ├──include
        └── inference.h
    ├──src
        ├──inference.cpp
    ├──CMakelists.txt
└── src (用于对编写好的mylib进行测试)
    ├── main.cpp
    └── CMakelists.txt
├── third_lib
    ├── include
        ├──cuda (要用下面的cudnn.so必须要在头文件声明.头文件的作用就是提供接口)
    ├── lib
        ├──libcudnn.so

└── test_lib
    ├── data
    ├──include
    ├── lib
    ├── model
    ├── third_lib

├── readme.txt
├── CMakelists.txt

最外层的cmake:

src中的cmakelists.txt

 

 mylib下的cmakelists.txt

 

 

你可能感兴趣的:(c++部署,c++,开发语言)