1 概述
- 本文基于前文环境
本节目标:动态库和Exe项目修改CMake默认输出路径
2 准备工作
- 目录结构
.
│ CMakeLists.txt
└─src
main.cc
2.1 代码准备
- main.cc中的代码如下
#include <iostream>
/// 程序入口
int main(int argc, char* argv[], char* env[])
{
const std::string str_hello{"hello cmake"};
std::cout << "\n" << str_hello.c_str() << "\n";
return 0;
}
2.2 CMakeLists.txt
- CMakeLists.txt脚本内容
# 指定CMake脚本解析的最低版本,
cmake_minimum_required(VERSION 3.18)
# 指定项目
project(HelloCMake)
# 指定代码文件
set( src_files
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc
)
# 用于生成可执行程序, 第一个参数是项目名称, 第二个参数是项目文件
add_executable(${PROJECT_NAME} ${src_files})
2.3 编译代码
- VSCode命令面板分别执行下面的步骤
>CMake:Select a kit
>CMake:Select Variant
>CMake:Configure
>CMake:Build
关于这些命令的详细使用,详见前文
3 可执行程序默认输出路径
- 编译结束后,默认输出到build文件夹中
2.1 executable输出
- 输出位于build目录下的Debug目录
- 这里仅仅列出咱们关心的目录
.
│ CMakeLists.txt
│
├─build
│ ├─Debug
│ │ HelloCMake.exe
│ │ HelloCMake.pdb
│
└─src
main.cc
5 Libray默认输出路径
- 关于library的默认输出, 咱们也做一个测试
5.1 动态库CMake脚本准备
- 动态库创建, add_library 使用的是关键字 SHARED
- 基于上文环境,咱们将CMakeLists.txt改为如下脚本
# 指定CMake脚本解析的最低版本,
cmake_minimum_required(VERSION 3.18)
# 指定项目